07跨函数使用内存问题

跨函数使用内存

# include<stdio.h>
int f();
int main(void)
{
    int i = 10;
    i = f();
    print("i = %d\n", i);
    
    return 0;
}
int f()
{
    int j = 20;
    return j;
}

Java中的new()

A aa = new A();
//实质上为C语言:
//A *pa = (A *)malloc(sizeof(A));
//free(pa)

注意:因为Java全采用new()所以说能自动释放内存,更安全。

例子2:输入学生数据和输出学生数据

# include<stdio.h>
struct Student
{
    int sid;
    int age;
};
struct Student *CreateStudent(viod);//函数声明
int main(void)                      //void代表主函数不需要传入参数
{
    struct Student * ps;
    ps = CreateStudent();
    ShowStudent(ps);
    
    return 0;
}
void ShowStudent(struct Student *pst)
{
    printf("%d %d\n", pst->sid, pst->age);
}

struct Student * CreateStudent(void)
{
    struct Student * p = (struct Student *)malloc(sizeof(struct Student));
    p->sid = 99;
    p->age = 120;
    return p;
}
posted @   夜月明  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示