数组的指针和指向数组的指针变量

  1、数组的指针

  数组元素在内存中连续存放,数组名代表数组首地址,是一个地址常量。

  2、指向数组的指针变量的定义

  例如,int a[10], *p=a(或&a[0]);

  或者:int a[10], *p;p=a;

  3、数组元素的引用

  (1)按名存取

  有int a[10],*p=a;定义,则p=a,一个数组,两个名字p 和a,访问元素时用a[i]或p[i]。

  (2)按地址存取

  有int a[10],*p=a;定义,则:p+i 和a+i 都是数组元素a[i]的地址,访问元素时用*(p+i)和*(a+i)。按地址存取:*(p+i),*(a+i),按名存取:a[i],p[i]四个是等价关系。

  注意:①p+n 指向数组的下n 个元素,而不是简单地使指针变量p 的值+n。编译时为p+n*m。m 为一个元素占用的字节数。c语言培训班 ②指针变量:既然是变量,其值随时在变,必须注意其当前值,否则容易出错。③指向数组的指针变量,可以指向数组以后的任何内存单元,C 语言不做越界检查,这些单元不是系统分配的单元,强占资源,易导致死机。④int a[10],*p=a;p++对,a++错,a 常量,p 变量。

  (3)指向数组的指针变量所支持的运算

  地址加减数值等于新地址,除此以外运算没有意义,由此得出推论,指针支持的运算有:

  算术运算:指针变量±整形数据、指针变量-指针变量=整型数值,该数值表示两指针之间的数据个数,并非地址之差。

  关系运算:指针变量关系运算符指针变量,表示两个变量值的大小关系,谁在前谁在后。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值