首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用C初始化char数组

用C初始化char数组
EN

Stack Overflow用户
提问于 2015-05-04 22:15:57
回答 3查看 12.2K关注 0票数 17

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

代码语言:javascript
复制
char buf[5]={0,};

这是否等同于

代码语言:javascript
复制
char buf[5]={0,0,0,0,0};
EN

回答 3

Stack Overflow用户

发布于 2015-05-04 22:17:11

是,当您将数组中的一个元素初始化为0时,其余元素都设置为0

代码语言:javascript
复制
char buf[5] = {0};

char buf[5] = "";

两者都是一样的

票数 6
EN

Stack Overflow用户

发布于 2015-05-04 22:17:01

是。

代码语言:javascript
复制
char buf[5]={0,}; // Rest will be initialized to 0 by default

等同于

代码语言:javascript
复制
char buf[5]={0,0,0,0,0};   

如果初始值设定项小于数组长度,则该数组的其余元素将被隐式赋予值0

您还应该注意到,作为初始化器列表,{0,} (尾随逗号使数组更容易修改)等同于{0}

票数 4
EN

Stack Overflow用户

发布于 2015-05-04 22:25:48

是的,两者的结果是相同的。

有几个相关的问题与更多的讨论here,以及可能的重复问题here

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30032400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档