|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 阁龙1427 于 2016-6-24 10:46 编辑
1-大家分析一下这段代码有没有内存泄露的情况出现:
2-另外如果不给stu1 stu2去单独分配空间的情况下 会发生什么神奇的事情呢
3-还有没有其他的方式给STU1 stu2来分配空间呢
注释:用cless并不是不知道班级的英文单词,只是class是关键词,不能用
- #include <stdio.h>
- #include <malloc.h>
- int main()
- {
- typedef struct
- {
- int name;
- int age;
- int grade;
- int cless;
- }stu_info;
- /*申请两个空间给 stu1和stu2用*/
- stu_info* stu1 = (malloc(sizeof (stu_info)));
- stu_info* stu2 = (malloc(sizeof (stu_info)));
- /*对两个结构体赋值*/
- stu1->name = 21;
- stu1->age = 22;
- stu1->grade = 1;
- stu1->cless =2;
- stu2->name = 31;
- stu2->age = 32;
- stu2->grade = 3;
- stu2->cless =3;
- /*打印 stu1 和 stu2 的元素的值 */
- printf("stu1 name is %d\n",stu1->name);
- printf("stu1 aage is %d\n",stu1->age);
- printf("stu1 grade is %d\n",stu1->grade);
- printf("stu1 cless is %d\n",stu1->cless);
- printf("\n\n");
- printf("stu2 name is %d\n",stu2->name);
- printf("stu2 aage is %d\n",stu2->age);
- printf("stu2 grade is %d\n",stu2->grade);
- printf("stu2 cless is %d\n",stu2->cless);
-
- /*释放malloc申请的空间*/
- free(stu1);
- free(stu2);
- while(1)
- {;
- }
- return 0;
- }
复制代码
|
|