首页 > 编程语言 > 详细

释放结构体数组里面的指针

时间:2019-03-22 17:58:14      阅读:230      评论:0      收藏:0      [点我收藏+]
 1 //定义如下结构体
 2 typedef struct student
 3 {
 4     int id;
 5     char* name;
 6 } student_t;
 7 
 8 int main(){
 9 
10     //有四种定义形式
11 
12     //一、结构体变量
13     student_t xiaoming; //不需要为结构体分配内存,但是需要对name分配内存
14     xiaoming.name =(char*)malloc(10);
15     free(xiaoming.name); //释放成员指针
16 
17     //二、结构体指针
18     student_t *xiaoming=NULL;
19     xiaoming = (student_t*)malloc(sizeof(student_t));
20     xiaoming.name =(char*)malloc(10);
21     free(xiaoming.name); //释放成员指针
22     free(xiaoming); //释放指针
23 
24     //三、结构体数组
25     student_t xiaoming[3];
26     for( i = 0; i<3 ; i++ )
27     {
28       xiaoming[i].name = (char*)malloc(10); //初始化
29     }
30     for( i = 0; i<3 ; i++ )
31     {
32       free(xiaoming[i].name); //释放成员指针
33     }
34     
35     //四、结构体数组(第三种的另一种写法)
36     student_t *xiaoming=NULL;
37     xiaoming = (student_t*)malloc(sizeof(student_t)*3);
38     for( i = 0; i<3 ; i++ )
39     {
40       xiaoming[i].name = (char*)malloc(10); //初始化
41     }
42     for( i = 0; i<3 ; i++ )
43     {
44       free(xiaoming[i].name); //释放成员指针
45     }
46     free(xiaoming); //释放数组
47     
48     return 0;
49 }

 

释放结构体数组里面的指针

原文:https://www.cnblogs.com/yinguojin/p/10579764.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!