读书人

关于构造体数组的初始化是否可以在定

发布时间: 2013-02-18 10:50:49 作者: rapoo

关于结构体数组的初始化,是否可以在定义时进行?
CIDR_S 是个结构体,定义如下:
typedef struct tagCIDR
{
unsigned int uiIP;
unsigned int uiMask;
}CIDR_S;

现要定义一个 CIDR_S 结构的数组并初始化,如下:
CIDR_S stCIDR[32] = {0};

GCC 启用 -Wall 选项后,提示:
警告: 初始值设定周围缺少花括号 [-Wmissing-braces]
警告: (在‘stCIDR[0]’的初始化附近) [-Wmissing-braces]

这个 warning 的含义应该是,初始化结构体数组应该用形如:
{{0,0}, {0,0}...}
的形式,所以提示缺少花括号。
我的问题是,不用 memset,如何消除该 warning?是否不能像单个结构体那样,直接 ={0} 就可以全部初始化?

[解决办法]
试下CIDR_S stCIDR[32] = {{0}};

读书人网 >UNIXLINUX

热点推荐