开发者社区> 问答> 正文

用一个默认值初始化一个普通数组

int array[100] = {-1}; 期望它充满-1,但不是,只有第一个值是,其余为0和随机值的混合。

代码

int array[100] = {0}; 可以正常工作并将每个元素设置为0。

我在这里想念的是什么。如果值不为零,无法初始化吗?

2:默认初始化(如上所述)是否比遍历整个数组并分配值的常规循环更快?

展开
收起
保持可爱mmm 2020-01-16 15:45:32 362 0
1 条回答
写回答
取消 提交回答
  • 使用您使用的语法,

    int array[100] = {-1}; 表示“将第一个元素设置为-1,其余0元素设置为”,因为所有省略的元素都设置为0。

    在C ++中,要将它们全部设置为-1,可以使用类似std::fill_n(from )的方法:

    std::fill_n(array, 100, -1); 在便携式C中,您必须滚动自己的循环。有编译器扩展,或者如果可以接受,您可以依赖实现定义的行为作为快捷方式。 问题来源于stack overflow

    2020-01-16 15:45:49
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载