牛客刷题面经

1

在这里插入图片描述
这道题考察的是二维数组的一维索引方式,和二维数组的名称的含义
再进行存储排布的时候,数据
二维数据的数组名称实际上是

思考一个问题:为什么说二位数组初始化的时候可以只确定列号,不确定行号的初始化生成方式?
在这里插入图片描述
对于一个不定长的数组,按照如上图所示的排布方式,我们通过简单的取整函数和取余函数便可以知道需要开辟多少空间。

对于一个一维数组,比如:

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

Arr 实际上对应的是首个元素的地址,即

Arr = & Arr[0]
cout<<(int)Arr<<endl;
cout<<(int) & Arr[0]<<endl;

输出结果为:

11532556
11532556

对于一个二维数组,如:

int b[2][3] = { 1,2,3,4,5,6 };
	cout << (int) b<< endl;
	cout <<(int)b[0] << endl;
	cout << (int)&b[0][0]<< endl;

输出结果为:

18349340
18349340
18349340

通过以上代码可以总结,二维数组的数组名称b指向第零行第零个元素,二维数组名称的单索引a[i]指向第i行的第零个元素,二维数组的双中括号索引b[i][j]表示第i行的第j个元素的别名。

这里是引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值