C语言高级编程:数组和结构体初始化为0的方法

测试平台:64位 X86 Ubuntu

1. 代码:

#include <stdio.h>
#include <memory.h>

struct st_stu
{
    char *name;
    int age;
    int class;
};

void main(void)
{
    int a[5] = {0};
    //struct st_stu stu= {0};
    struct st_stu stu;
    memset(&stu, 0, sizeof(struct st_stu));

    printf("age: %d, class: %d\n", stu.age, stu.class);
    printf("a[]: %d, %d, %d, %d, %d\n", a[0], a[1], a[2], a[3], a[4]);
}

2. 结果:

baoli@ubuntu:~/c$ ./a.out

age: 0, class: 0

a[]: 0, 0, 0, 0, 0

3. 分析:

1)初始化数组为0时,使用{0},当然也可以使用memset,前者更简单方便。

2)初始化结构体为0时,使用{0}或者memset

发布了170 篇原创文章 · 获赞 116 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/u012247418/article/details/100622231