采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,你说未赋值的arr[8]和arr[9]的值是不确定的,但我的实现里这两个位置看起来像是被默认赋值为0了
看看你是什么版本的VS,不同版本支持的编译器行为可能不一样。这种情况属于C++标准未定义形式,具体取决于编译器自身行为。你换一个编译器可能就不一样了,所以最好保证初始化,否则行为可能不一致。
老师,您好像说错了!我记得开辟空间如果没有赋值,则值是不确定的,如果赋值之后,没有满的空间都和定义静态数组一样,初值为0。 这是我找到的一篇博客,上面解释的比较详细,而且这个规则在c语言上同样适用。 https://www.cnblogs.com/fnlingnzb-learner/p/8057257.html
但是对于超出数组边界的值是不确定的。在c语言上可以通过int arr[10] = {0}实现数组的初始化,即每一个数组元素都为0。
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.2k 12
1.3k 10
1.2k 9
995 9