二维数组基础

概念

如果把一维数组作为数组的元素,这时候就是二维数组了。同理,以二维数组作为元素的数组称为三维数组。二维数组以上的数组被称为多维数组

二维数组可以看成一个行列式,我们在遍历二维数组的时候,采取的是行优先的方式

二维数组基础-码途星探

二维数组的创建

  • 定义:类型名 数组名[行数][列数];
int a[3][5];
double b[4][5];

二维数组的本质就是一维数组的数组

例如:a[0]就是一个一维数组, 里面包含5个int元素

二维数组的初始化

//全部初始化
int a[2][3] = {{1,2,3},{4,5,6}};
//部分初始化,其他元素为0
int b[2][3] = {1,3,4};//只初始化了第一行的元素
//行内省略大括号,按行依次填充
int c[2][3] = {1, 2, 3, 4, 5, 6};
//数组在初始化的时候,可以省略行,但是不可以省略列
int arr5[][5] = {1,2,3};
int arr6[][5] = {1,2,3,4,5,6,7};
int arr7[][5] = {(1,2),(3,4),(5,6)};

二维数组的下标

当我们掌握了二维数组的创建和初始化,那我们应该如何使用二维数组呢?

与一维数组一样,二维数组的访问也是使用下标 的形式。二维数组是有行和列,只要锁定了行和列就能锁定数组唯一的元素。

C/C++ 规定,二维数组的行是从 0 开始的,列也是从 0 开始的

int arr[3][5] = {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7};
二维数组基础-码途星探

访问数组的元素

我们可以通过行列下标去定位二维数组里面的元素(数组的下标是从0开始的)

  • 格式:数组名[行下标][列下标]

例如:

int arr[3][5] = {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7};

a[0][0] -> 1

a[1][3] -> 5

遍历二维数组

使用嵌套循环遍历所有的元素

二维数组和一维数组一样,想要把所有的元素都打印一遍,需要用到循环 ,唯一不一样的是二维数组比一维数组多一个循环用来打印列。

int a[2][3] = {{1,2,3},{4,5,6}};
for(int i = 0; i < 2; i++) //遍历行
{
    for(int j = 0; j < 3; j++) //遍历列
    {
        printf("%d ", a[i][j]);
    }
    printf("\n");
}

const 常量

const关键字用于定义常量货指示变量的值不能被修改,声明数组时,常量可以作为数组长度

格式: const 数据类型 变量名 = 值

const int A = 100;
变量常量
定义存储可以改变的值存储不可以改变的值
值是否可以改变
声明方式多种方式:int x = 5;使用关键字const,const int N = 100;
修改值可以在程序运行期间多次修改一旦初始化后不能再修改
内存使用根据需要分配和释放通常在整个程序生命周期中占用内存
用途储存需要动态变化的数据储存固定不变的数据
示例声明int age = 18;const double PI = 3.14

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 共1条

请登录后发表评论