two二维数组·c++【保证听得懂】


 二维数组是个啥

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。

百度二维数组 链接放在这里了,自己也可以去康康哟

定义方式 

作者熟悉的就是用这种方法了:

 差不多就是这样了;

 int arr[3][4];//三行四列
    
    // 直接给二维数组赋值
    arr[0][0] = 1;
    arr[0][1] = 2;
    arr[0][2] = 3;
    arr[0][3] = 4;
 
    arr[1][0] = 5;
    arr[1][1] = 6;
    arr[1][2] = 7;
    arr[1][3] = 8;
 
    arr[2][0] = 9;
    arr[2][1] = 10;
    arr[2][2] = 11;
    arr[2][3] = 12;

 或者:

int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };

注意了,这种情况下: 

定义的是int arr[3][4]的意思是三行四列,而如果要输出的话,就指定的是下标,下标以零开始,所以输出12,就是输出arr[2][3]了,什么是下标将在后面讲到。

二维数组和一维数组的区别


1.维度差异:一维数组只有一个维度,而二维数组有两个维度,即行和列。

2.声明和访问方式不同:一维数组的声明和访问方式比较简单,可以直接通过数组名加索引的方式进行操作;而二维数组的声明和访问方式需要指定两个索引,即行和列。

3.存储方式不同:一维数组在内存中是连续存储的,每个元素之间没有额外的空间;而二维数组是一维数组的数组,每个一维数组在内存中也是连续存储的。

4.内存占用差异:由于二维数组包含多个一维数组,因此它的内存占用量通常要大于一维数组。

5.灵活性差异:一维数组的长度是固定的,并且元素的个数必须在声明时指定;而二维数组的长度可以在声明后进行动态调整,并且每个一维数组的长度可以不同。

总之,一维数组和二维数组在维度、声明和访问方式、存储方式、内存占用和灵活性等方面都存在差异。选择使用哪种数据结构应根据具体的需求和情况来决定。


大家看到了么,他们一个是线,一个是面。 

二维数组的特点


二维数组是由多个一维数组组成的数据结构,它的特点如下:

1. 维度:二维数组有两个维度,通常用行和列表示。每个维度都可以有不同的长度。

2. 存储方式:二维数组在内存中是连续存储的,每个一维数组在内存中也是连续存储的。这意味着二维数组的元素在内存中是按照一定的顺序排列的。

3. 元素访问:二维数组的元素可以通过行和列的索引进行访问。通过指定行和列的索引,可以准确地找到特定的元素。

4. 元素类型:二维数组的元素可以是任意类型的数据,例如整数、浮点数、字符等。

5. 多维数组:二维数组是多维数组的一种特殊情况。除了二维数组之外,还可以有三维数组、四维数组等。多维数组可以理解为一维数组的数组。

6. 灵活性:二维数组的大小可以在声明后进行动态调整。每个一维数组的长度也可以不同,使得二维数组可以灵活地存储不同大小的数据。

需要注意的是,二维数组不同于矩阵,矩阵是一个数学概念,有严格的数学定义和运算规则。而二维数组只是在内存中按照一定方式存储的数据结构,没有矩阵的特定性质和运算规则,并且二维数组与一维数组的下标特点一样,都是从零开始的。

附一张六行八列的下标

明式图:

更多练习题,请搜索C++二维数组-CSDN博客 ,拜了个拜~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值