在C语言中,可以使用以下几种方法来初始化一个二维字符数组:
#include<stdio.h>
int main() {
char arr[3][4] = {
{'a', 'b', 'c', '\0'},
{'d', 'e', 'f', '\0'},
{'g', 'h', 'i', '\0'}
};
for (int i = 0; i < 3; i++) {
printf("%s\n", arr[i]);
}
return 0;
}
#include<stdio.h>
int main() {
char arr[3][4] = {
"abc",
"def",
"ghi"
};
for (int i = 0; i < 3; i++) {
printf("%s\n", arr[i]);
}
return 0;
}
注意:在这两种方法中,我们都需要在每个字符串的末尾添加一个空字符(‘\0’),表示字符串的结束。在第二种方法中,编译器会自动在字符串末尾添加空字符。
#include<stdio.h>
int main() {
const int rows = 3;
const int cols = 4;
char arr[rows][cols];
for (int i = 0; i< rows; i++) {
for (int j = 0; j< cols - 1; j++) {
arr[i][j] = 'a' + i * cols + j;
}
arr[i][cols - 1] = '\0';
}
for (int i = 0; i< rows; i++) {
printf("%s\n", arr[i]);
}
return 0;
}
这个例子中,我们使用了两个嵌套的循环来初始化二维字符数组。外层循环控制行数,内层循环控制列数。注意,我们在每行的末尾添加了一个空字符。