如何初始化c中的字符串数组?
答
下面是如何字符阵列可以在C.初始化您可以使用显示初始化的任何组合对所述阵列中的任何元素一些实例
#include <stdio.h>
int main(void)
{
char arr1[10][2] = { "A" };
char arr2[10][2] = { { "A" } };
char arr3[10][2] = { { "AB" } };
char arr4[10][2] = { { 'A', '\0' } };
char arr5[10][2] = { { 'A', 'B' } };
char arr6[10][2] = { [0] = "A" };
char arr7[10][2] = { [0] = "AB" };
char arr8[10][2] = { [0] = { "AB" } };
char arr9[10][2] = { [0] = { [0] = 'A', [1] = '\0' } };
char arr10[10][2] = { [0] = { [0] = 'A', [1] = 'B' } };
// to avoid diagnostic messages of unused variables
(void)arr1;
(void)arr2;
(void)arr3;
(void)arr4;
(void)arr5;
(void)arr6;
(void)arr7;
(void)arr8;
(void)arr9;
(void)arr10;
return 0;
}
您也可以使用初始化这样的
char arr1[10][2] = { "" };
char arr1[10][2] = { '\0' };
您不得在C中使用这样的初始化
char arr1[10][2] = {};
在C++中是允许的。
答
要初始化所有的字符串为空字符串,请使用:
char arr[10][2] = {0};
如果你需要将它们初始化到不同的东西,你必须使用这些值,很明显。
答
如下时,初始化:
char arr[10][2] = {
{"H"},
{"A"},
{"C"},
....
//and so on at most 10
};
是否要将所有元素初始化为“0”或特定值? – mch
您可能想要参考http://stackoverflow.com/questions/201101/how-to-initialize-all-members-of-an-array-to-the-same-value – hbagdi