【C语言】二维数组

简介: 【C语言】二维数组

前言

本节课讲的是二维数组,实际上和一维数组差不多


提示:以下是本篇文章正文内容,下面案例可供参考

一、声明与对比

声明:

int a[5];//一维数组
int a[3][4];//二维数组

对比:

一维数组:元素是数据类型的的数组 二维数组:元素是一维数组的数组,本质还是一维数组

c 是 3 个元素的一维数组,每个元素是 4 元素的一维数组

图解:

4db2d6d310e64fa389911c84cda4ff3d.png

二维数组一般理解为行列,对初学者比较友好,int a[行][列],即 3 行 4 列,如下


d6c2812c6f284e2eaa073764a12cc30b.png

二、二维数组初始化、下标、以及遍历

初始化:

//一些常见的情况
int a[3][2] = {{3,2},{6,5},{8,7}}; //内部大括号对应每个小一维数组 3 2 6 5 8 7 
int a[3][2] = {{3},{9},{8,7}}; //初始化部分元素,其他默认 0 3 0 9 0 8 7 
int a[3][2] = {3,9,8 }; //没有内部大括号,就依次初始化各元素,其他为 0 3 9 8 0 0 0 
int a[ ][2] = {3,9,8}; //初始化时,可不写行,系统根据数据个数计算行,2 行 3 9 8 0

下标:

行下标与列下标,都是从 0 开始

int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; //行下标:0 1 2 列下标:0 1 2 3 
//元素: a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] 
//a[2][2] a[2][3]

二维数组元素个数为行*列

另一个角度 a[0]是第 1 个小数组的数组名字 a[1]是第 2 个小数组的数组名字 a[2]是第 3 个小数组的数组名字 第一个小数组的第一个元素就是 a[0][0]

图解:

926c80abdc1247fcba17594c58c1a1c8.png


二维数组遍历:

因为他有行和列,所以需要两个for循环,如果要按顺序输出的话:

就需要列的for循环在行的for循环里面

//遍历
  int i, j;
  int c[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };
  for (i = 0; i < 3; i++)
  {
    for (j = 0; j < 4; j++)
    {
      printf("%d ", a[i][j]);
    }
    putchar('\n');//换行
  }

三、二维数组赋值,地址,数组的大小

赋值:

a[0][0]=11;
a[0][1]=12;
a[0][2]=13;
a[0][3]=14 ;
a[1][0]=15 ;
a[1][1]=16 ;
a[1][2]=17 ;
a[1][3]=18 ;
a[2][0]=10 ;
a[2][1]=11;
a[2][2]=12 ;
a[2][3]=13;

遍历赋值也是可以的

地址:

如:a[0][0]为一个变量的名字,则&a[0][0]为一个变量的地址

如果出现&a[0]呢?其实他是第一行的第一个的元素地址

&a[1]为第二行的首元素的首地址,&a[3]为第三行的首元素的首地址

scanf_s("%d", &a[2][2]);

二维数组的大小:

//数组的大小:sizeof()
//元素个数:行*列
int a[2][3];
sizeof(a);
//2*3 = 6

四、其他更高维的数组

其他类型的数组同理

此外还有三维数组,四维数组等等多维数组,

int a[2][3][4]; 三维数组

int c[2][3][4][5]; 四维数组

原理跟二维数组一样,平时基本用不到。

总结

本节课讲的是二维数组的使用、以及更高维度的数组的简介

相关文章
|
6月前
|
C语言
C语言期末习题之求二维数组中的最大值
C语言期末习题之求二维数组中的最大值
60 0
|
6月前
|
C语言
【C语言】利用数组处理批量数据(一维数组和二维数组)
【C语言】利用数组处理批量数据(一维数组和二维数组)
|
6月前
|
存储 数据处理 C语言
C语言二维数组
C语言二维数组
57 0
|
6月前
|
C语言
C语言---二维数组&&指针
C语言---二维数组&&指针
28 0
|
6月前
|
C语言
C语言-----用二维数组解决菱形的打印问题
C语言-----用二维数组解决菱形的打印问题
59 0
|
6月前
|
存储 C语言
遍历二维数组C语言,小白必看的绝绝子技巧!
遍历二维数组C语言,小白必看的绝绝子技巧!
C4.
|
6月前
|
存储 C语言
C语言怎样定义和引用二维数组
C语言怎样定义和引用二维数组
C4.
71 0
|
1月前
|
存储 编译器 C语言
【C语言】数组(一维、二维数组的简单介绍)
【C语言】数组(一维、二维数组的简单介绍)
|
6月前
|
C语言
C语言期末习题之二维数组转置
C语言期末习题之二维数组转置
48 0
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。