指针与数组之间的联系

(1)指针和数组的关系
  对于一个一维数组,例如int a[10],那么a代表的是数组的首地址,它和&a[0]是等价的。
  定义指针int *p,p=a 等价于p=&a[0];
  如果 p 指向a[0],那么 p 就是 a[0] 中的元素,p i 是数组元素 a[i] 的地址,(p i) 就是数组元素 a[i] 的内容。

(2)指针与数组的转换关系
  a[i]==(a+i)==(i+a)==i[a];
  
(3)案例:

#include<stdio.h>
int main()
{
    int doses[]={1,2,3,1000};
    printf("%i\n",3[doses]);
    return 0;
}

此处3[doses]虽然定义,但是程序仍然可以执行,原因是
doses3[3]==(doses+3)==(3+doses)==3[doses]

  C语言里面有很多值得深入学习的地方,一直深爱C语言。此例虽然偏见,但对理解指针与数组之间的转换关系很有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值