在C ++中,将所有 1D-array 元素初始化为零:
int array[5] = {0}; //Set all elements to zeroes.
要将int 2D-array 的每个元素初始化为零,我们可以这样做:
int matrix[5][5] = {0}; //Set all elements to zeroes.
因此,如果我不使用memset
这样的函数,只使用“空值”填充char
的 2D-array 。我可能会这样做:
char matrix[ROWS][COLS] = {'\0'}; //Set all elements to '\0'
所以我的问题是:
由于char matrix[ROWS][COLS] = {0};
的ASCII值为'\0'
,我可以安全地假设它与将其写为0
相同吗?
我测试了输出,将其初始化为\0
并且0
似乎是相同的。但它会在不同的操作系统或不同的编译器中以相同的方式工作吗?
我访问过的一些页面:
What is the difference between NULL, '\0' and 0
The difference between 0 and '0' in array
PS:我不是要求0和'0'之差。我问的是0和'\ 0'。