将char数组初始化为0和'\ 0'是一样的吗?

时间:2016-04-30 19:18:58

标签: c++ arrays char

在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'。

0 个答案:

没有答案