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 }

日志信息

 

posted on 2017-08-02 11:51  低头捡石頭  阅读(84)  评论(0编辑  收藏  举报

导航