C语言 - 多维数组 | 字符串数组
二维数组
1 - 下面代码行的内存状况
char Y[3][2]={{'A','B'},{'C','D'},{'E','F'}};
2 - 二维数组的声明
int agesII[3][10];// 存放 3 个数组且每个数组存放 10 个数值,共 3x10 个数据元素
1 // 两行三列:数组第二维下标必须给定,第一维下标可省略 2 int array [][3]={2,4,5,8,9,6}; 3 // 给某一个元素重新赋值 4 array [1][0] = 18; 5 6 for (int i = 0; i<2; i++) { 7 for (int j = 0; j < 3; j++) { 8 printf("%d\t",array[i][j]); 9 10 if (array[i][j]==6) { 11 printf("\n值为9的元素的下标为 %d,%d\n",i ,j); 12 13 } 14 } 15 printf("\n"); 16 }
日志信息
字符串数组
1 - 字符串数组实质是一个二维数组:行代表的是每个字符串,列代表的是字符串中的字符。如果想要访问某个字符串,用数组的第一维的下标;访问某个字符的话,用数组名的第二维下标
char name[2][10] = {"jack","rose"};// 初始化方式一 char nameII[2][10]={{'j','a','c','k','\0'},{'r','o','s','e','\0'}};// 初始化方式二 printf("%s\n",nameII[1]); // 输出 rose printf("%c\n",nameII[0][3]);// 输出 k
多维数组
1 - 多维数组的元素个数 = 各维数个数的乘积;多维数组占用内存 = 元素个数乘以单个元素所占空间
2 - 多维数组的声明
1 // 两层三行四列 2 int a [2][3][4]={3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}; 3 for (int i=0; i<2; i++) { 4 for (int j=0; j<3; j++) { 5 for (int k=0; k<4; k++) { 6 printf("%d\t ",a[i][j][k]); 7 } 8 printf("\n"); 9 } 10 printf("\n"); 11 }
日志信息