加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C和C中的初始化列表

发布时间:2020-12-16 10:22:46 所属栏目:百科 来源:网络整理
导读:出于某种原因,我有这样的想法,C和C的工作方式如下: int foo[10] = {57};for (int i=0; i10; ++i) assert (foo[i] == 57); 原来剩下的整数被初始化为0而不是57.我从哪里得到这个想法?这一点是真的吗?结构初始化列表是否真的如此?当分配给= {}和= {0}时,数
出于某种原因,我有这样的想法,C和C的工作方式如下:

int foo[10] = {57};
for (int i=0; i<10; ++i)
    assert (foo[i] == 57);

原来剩下的整数被初始化为0而不是57.我从哪里得到这个想法?这一点是真的吗?结构初始化列表是否真的如此?当分配给= {}和= {0}时,数组和结构是否整齐且正确地开始将自己初始化为0值?除非明确说明,否则我一直认为他们会初始化为垃圾.

解决方法

只要初始化器存在,就一直都是这样. C89说:

If there are fewer initializers in a list than there are members of an aggregate,the remainder of the aggregate shall be initialized implicitly the same as objects that have static storage duration.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读