在C中初始化char数组

Ren

我不确定初始化后以以下方式在char数组中会是什么:

char buf[5]={0,};

那等于

char buf[5]={0,0,0,0,0};
苏拉夫·戈什(Sourav Ghosh)

是的,是一样的。如果初始化程序的数量少于数组中元素的数量,则其余元素将被初始化,就像对象具有静态存储持续时间(即0)一样。

所以,

char buf[5]={0,};

相当于

 char buf[5]={0,0,0,0,0};

相关阅读:摘自C11标准文档第6.7.9章“初始化”,

如果用大括号括起来的列表中的初始化程序少于集合中的元素或成员,或者用于初始化已知大小的数组的字符串文字中的字符少于该数组中的元素,则该集合的其余部分应被隐式初始化为与具有static存储持续时间的对象相同

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章