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;
}

浙公网安备 33010602011771号