参见英文答案 >
C++ array initialization4个
#include <iostream> using namespace std; int main() { int arr[10] = {}; for(auto element : arr) { cout<<element<<" "; } cout<<endl; }
如果我写int arr [10] = {},arr中的元素都是0.但是如果我只是在arr [10]中,arr中的元素是随机的.
所以我对int arr [10] = {}感到困惑,我只是声明一个数组int arr [10],但我没有给它任何值,只是一个{}.
解决方法
if i write int arr[10] = {},the elements in arr are all 0.
这就是语言的语法是如何工作的.在您的情况下,数组将初始化为零.
but if i just wrtie int arr[10],the elements in arr are random.
在您的情况下,数组元素未初始化.您不应该读取未初始化的变量的值;否则你将触发未定义的行为.