阁龙1427 发表于 2016-6-24 10:43:16

关于内存泄露

本帖最后由 阁龙1427 于 2016-6-24 10:46 编辑

1-大家分析一下这段代码有没有内存泄露的情况出现:
2-另外如果不给stu1stu2去单独分配空间的情况下 会发生什么神奇的事情呢
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;
}

页: [1]
查看完整版本: 关于内存泄露