我不确定在以下方式初始化后char数组中会有什么:
char buf[5]={0,};
这是否等同于
char buf[5]={0,0,0,0,0};
发布于 2015-05-04 22:17:11
是,当您将数组中的一个元素初始化为0
时,其余元素都设置为0
char buf[5] = {0};
char buf[5] = "";
两者都是一样的
发布于 2015-05-04 22:17:01
是。
char buf[5]={0,}; // Rest will be initialized to 0 by default
等同于
char buf[5]={0,0,0,0,0};
如果初始值设定项小于数组长度,则该数组的其余元素将被隐式赋予值0
。
您还应该注意到,作为初始化器列表,{0,}
(尾随逗号使数组更容易修改)等同于{0}
。
https://stackoverflow.com/questions/30032400
复制相似问题