惧留孙网

juliusun.com

在线教程 > C语言教程 > 多维数组

多维数组

第 21/50 节 冥河C语言教程


多维数组并没有特殊的语法,只不过是数组的元素仍然是数组。多维数组定义方式:

类型 数组名 [ 常量N1 ][ 常量N2 ]……[ 常量NN ]

上面格式代表的意义是,”数组名“ 有 N1 个元素,每个元素又是拥有 N2 个元素的数组,N2个元素每个元素又是N3个元素的数组……,以此类推。


  1. int a[5][8] ; //a为5个元素的数组,每个元素是8个元素的数组,元素为int类型数据
  2. char s[3][6][4]; //s数组有3个元素,每个元素都是数组,有6个元素,6个元素中每个元素都是数组,有4个元素,每个都是char类型

引用格式如下:

数组名[下标1][下标2]……[下标N]

例:


  1. char s[3] [6] [4];
  2. s[1] [3] [2] = 'c';
  3. putchar( s[1] [3] [2] );

多维数组初始化举例:


  1. int n[3] [2] = {{3,3}, {1,2}, {4,4}/*n[2]有两个元素,值均为4*/};
  2. char s[3] [2] [4] = {{{'1','2','3','4'}, {'1','1','1','2'}}
  3. {{'a','a','a','a'}/*s[1][0]有4个元素,值均为'a'*/, {'b','b','b','b'}}/*s[1]有2个元素*/ ,
  4. {{'x','x','x','x'}, {'x','x','x','x'}}
  5. };

以二维数组举例,用户输入一个4 X 4矩阵,然后输出:


  1. #include<stdio.h>
  2. int main( )
  3. {
  4. int a[4][4]; //定义2维数组,第一维数组每个元素又是4个int类型组成的数组
  5. for(int i = 0 ; i < 4 ;++i) //每循环1次输入1行
  6. {
  7. printf("请输入矩阵第%d行\n",i + 1);
  8. for(int j = 0;j < 4;++j) //每循环1次输入1个数
  9. {
  10. scanf("%d",&a[i][j]);
  11. }
  12. }
  13. printf("矩阵如下:\n");
  14. for(int i = 0 ; i < 4 ;++i)
  15. {
  16. for(int j = 0;j < 4;++j)
  17. {
  18. printf("%d ",a[i][j]);
  19. }
  20. putchar('\n');
  21. }
  22. getchar( ) ;getchar( ) ; //使程序暂停一下
  23. return 0;
  24. }

效果类似如下图:

Pic

输入方式不同,效果不同,仅供参考。

作者:冥河 QQ:3304576112
交流QQ群:554701039 C语言讲课群
本教程内容由本站保留版权,请勿复制传播
抖音
©2015-2024 惧留孙网 juliusun.com

京ICP备15039193号-1

首页 教程 下载 文章 聊天 我的