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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人