1 #include "stdio.h"
2 #include "malloc.h"
3
4 int main(void)
5 {
6 struct PEOPLE{
7 char name[10];
8 int age;
9 int weigth;
10 int heigth;
11 }infos;
12
13 struct PEOPLE *p; /*指向结构体的指针*/
14 p = malloc(sizeof(struct PEOPLE)); /*分配动态空间,并且返回一个指向空间初始位置的指针*/
15 if(p == NULL){ /*这部非常重要,如果你用malloc申请空间*/
16 printf("Out of memory!\n"); /*就必须要判断空间是否成功,成功返回指针并指向空间起点*/
17 exit(1); /*失败则返回NULL*/
18 }
19
20 scanf("%s %d %d %d", &p->name, &p->age, &p->weigth, &p->heigth);
21 /*给结构体成员赋值*/
22 printf("Name:%s | Age:%d | Wei.:%d | Hei.:%d\n", p->name, p->age, p->weigth, p->heigth);
23
24 free(p); /*有申请就要有释放,有借有还,再借不难*/
25 return 0;
26
27 }
本文介绍了一个使用C语言实现的动态内存管理示例,通过定义结构体存储个人信息,并利用malloc和free函数进行内存的分配与释放。代码展示了如何声明结构体、分配内存、输入输出结构体成员变量以及释放内存。
3935

被折叠的 条评论
为什么被折叠?



