【发布时间】:2012-06-24 12:20:24
【问题描述】:
如果我有这样的结构:
typedef struct
{
unsigned char c1;
unsigned char c2;
} myStruct;
将此结构初始化为 0 的最简单方法是什么? 以下就够了吗?
myStruct _m1 = {0};
或者我是否需要将每个成员显式初始化为 0?
myStruct _m2 = {0,0};
【问题讨论】:
-
注意:如果结构有填充字节(由于对齐),那么这些都不能保证它们被初始化。在将结构写入外部存储、网络或与
memcmp进行比较时,这可能很重要。在这种情况下,应该使用memset。
标签: c struct initialization