结构体在使用前进行初始化的重要性

#include<stdio.h>
#include<string.h>

struct _Person
{
    char *name; 
    int age; 
    double height; 
};

int main(int argc, char *argv[])
{
    struct _Person p1;
    // 不初始化内存区域是脏的
    printf("Dirty --- p1.age is %d\n",p1.age);
    
    // 方法一:使用memset进行清理
    memset(&p1,0,sizeof(struct _Person));
    printf("Cleaned in Way1 --- p1.age is %d\n",p1.age);
    p1.name = "Alexander";
    p1.age = 25;
    printf("Cleaned in Way1 --- Name : %s , Age : %d\n",p1.name,p1.age);
    printf("Cleaned in Way1 --- p1.age is %d\n",p1.age);
    printf("------------------------------\n");
    
    // 方法二:初始化
    struct _Person p2 = { 0 };
    p2.name = "刘德华";
    p2.age = 60;
    printf("Cleaned in Way2 --- Name : %s , Age : %d\n",p2.name,p2.age);
    return 0;
}
posted @ 2020-09-28 22:08  艾孜尔江  阅读(275)  评论(0编辑  收藏  举报