二维数组使用

本文探讨了二维数组在内存中的存储方式以及数组名和指针的关系。通过实例展示了如何初始化二维数组,并解释了matrixA和matrixA[0]的区别,以及不同类型的指针如何指向数组的不同部分。理解这些概念对于正确操作二维数组至关重要。
摘要由CSDN通过智能技术生成

定义一个数组 a[2] = {1,2}; 其在内存中是按照连续的2个地址进行存放。例

0x100   ->   a[0] = 1

0x104  ->   a[1] = 2

取a[0]的地址有两种,一种是&a[0], 另一种是用数组名a代替。那边&a代表什么含义呢,对于int a = 2这种情况,&a代表的是变量a的内存地址。如果a是数组呢,由于名字本身已经代表了数组在内存中的首地址,所以占在编译器的角度考虑 &a也只能代表数组在内存中的首地址即和a是同样的值。

#include <iostream>
using namespace std;
int main()
{
    int a[2] = {1,2};
	cout << a << " " << &a << endl;
}

上述程序的运行结果为

0x7ffeefd9d908 0x7ffeefd9d908

 如果a是一个二维数组,二维数组的初始化

int matrixA[2][3] = { {1,2,3},{4,5,6}};  上面初始化的是一个2行3列的二维数组

\begin{bmatrix} 1, &2, &3 \\ 4, &5, &6 \end{bmatrix}

其在内存中的分布为:

0x7ffcbafe6150 1
0x7ffcbafe6154 2
0x7ffcbafe6158
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值