c语言二维字符数组怎么初始化

avatar
作者
筋斗云
阅读量:0

在C语言中,可以使用以下几种方法来初始化一个二维字符数组:

  1. 逐行初始化:
#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; } 
  1. 使用字符串字面量进行初始化:
#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’),表示字符串的结束。在第二种方法中,编译器会自动在字符串末尾添加空字符。

  1. 如果你知道数组的大小,还可以使用循环进行初始化:
#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; } 

这个例子中,我们使用了两个嵌套的循环来初始化二维字符数组。外层循环控制行数,内层循环控制列数。注意,我们在每行的末尾添加了一个空字符。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!