A[10]数组,A+1的含义

对于数组元素的使用,通常采用的是数组名加下标的方式。

比如有数组 int a[10]; 里面10个元素分别是 a[0]、a[1]、a[2]…a[9]。

通常对于数组,我们使用循环处理,例如有变量 int i;

在循环里面 i 的值从 0-9变化,那么a[i] 就依次对应数组第一个元素 a[0]到最后一个元素a[9]。

引用数组元素,还有另外两种方式。

首先,我们要知道数组名a代表的含义,它表示的是首地址,数组第一个元素a[0]的地址。数组在内存空间位置是固定的,地址不变,这也就是为什么不能给数组名a赋值或者改变它的值。

那么a+1是什么意思呢?很多人误以为,那就是首地址加一呗。a+1表示的是数组里面第二个元素的地址。也就是说不管是int类型的数组,每个int元素占4个字节,还是char类型的数组,每个元素占1个字节,a+1对应的都是a[1]的地址,这个加一可不是地址具体的值+1。那对应 a+i表示a[i]的地址。

知识点回顾:

&是取地址运算符,如有int a; 即有一个小盒子里面存放的数据起名叫a,&a就是取a的地址,即该盒子的编号。

(地址)是取值运算符,这里是解引用操作符,可以理解成打开对应地址编号的盒子,取出里面的数据。(&a) 就是打开a对应的小盒子,取出里面的数据,即(&a)和a等价。

a+i 等价于 &a[i]

*(a+i) 等价于 a[i]

第二种方式就是直接使用指针来引用数组元素。定义指针 int *p;

使用p=a;或者p=&a[0]让指针指向数组第一个元素a[0],那么通过指针p的移动,如p++等也可以遍历数组所有元素。

代码示例(3种方式,通过循环给数组a里面10个元素依次赋值1-10):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值