c语言 数组名和下标运算符

前言

今天讲一些数组的属性下标运算符 的一些应用,算是一个必须要掌握的小的知识点了。

一、数组名:

前面我们稍微提过数组的属性:数组名就是首元素的首地址,即 &a[0]==a;

则:int *p = &a[0] ; 也可写成 int *p = a ;

两者一摸一样,平时都是用第二种,因为写起来比较方便。
在这里插入图片描述

二、下标运算符 [ ]

  1. 对于数组:
    例如: int a[5] = {5,6,7,8,9}; / / 定义一个数组
    由于 数组的名字就是数组的首地址,[ ] 下标运算符里面是偏移量,则 a[0+1]是指数组的首地址向右移动一位,代表指向6这个元素。
    前面也讲过 * +空间地址 == 该元素名字,即* &b== b。所以 *a == a[ 0 ],则 *(a+1)== a[1]== 6。

  2. 对于指针:
    int *p =a; / / 指针指向数组的首元素,即 p == &a。
    *(p+4)== p[4] == 4[p]; / / 同数组一样
    在这里插入图片描述

注意: p[4]==4[p],都是下标的偏移计算,是一样的。

总结

这部分比较难理解 ,大家要好好推导。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖果罐子♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值