int array[100] = {-1}; 期望它充满-1,但不是,只有第一个值是,其余为0和随机值的混合。
代码
int array[100] = {0}; 可以正常工作并将每个元素设置为0。
我在这里想念的是什么。如果值不为零,无法初始化吗?
2:默认初始化(如上所述)是否比遍历整个数组并分配值的常规循环更快?
使用您使用的语法,
int array[100] = {-1}; 表示“将第一个元素设置为-1,其余0元素设置为”,因为所有省略的元素都设置为0。
在C ++中,要将它们全部设置为-1,可以使用类似std::fill_n(from )的方法:
std::fill_n(array, 100, -1); 在便携式C中,您必须滚动自己的循环。有编译器扩展,或者如果可以接受,您可以依赖实现定义的行为作为快捷方式。 问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。