32-指针与一维数组

 

本节知识点:

1、数组指针定义

2、使用指针引用数组元素

3、一维指针数组

=========================================================================

1、数组指针

  数组元素指针

  一个变量有地址,一个数组包含若干元素,每个数组元素都有相应的地址。

  指针变量可以指向数组元素(把某一元素的地址放到一个指针变量中)。

  所谓数组元素的指针就是数组元素的地址,可以用一个指针变量指向一个数组元素 。

 

注意:

    数组名a不代表整个数组,只代表数组首元素的地址。

     p=a; 的作用是把a数组的首元素的地址赋给指针变量p,而不是把数组a各元素的值赋给p

2、 使用指针引用数组元素

  在指针指向数组元素时,允许以下运算:加一个整数(用+或+=),如p+1

  减一个整数(用-或-=),如p-1

  自加运算,如p++,++p

  自减运算,如p--,--p

两个指针相减,如p1-p2 (只有p1和p2都指向同一数组中的元素时才有意义)

如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素,p-1指向同一数组中的上一个元素。

  float a[10],*p=a;

假设a[0]的地址为2000,则

  p的值为2000

  p+1的值为2004

  P-1的值为1996

注意:

 (1) 如果p的初值为&a[0],则p+i和a+i就是数组元素a[i]的地址,或者说,它们指向a数组序号为i的元素

 

(2) *(p+i)或*(a+i)是p+i或a+i所指向的数组元素,即a[i]。

(3) 如果指针p1和p2都指向同一数组

p2 - p1 = 4   p1 + p2是错误的

结论: 引用一个数组元素,可用下面两种方法:

(1) 下标法,如a[i]形式

(2) 指针法,如*(a+i)或*(p+i)

(3) a是常量(a++错误),p是变量(p++正确) 

 思考与实现1:

    有一个整型数组a,有10个元素,要求输出数组中的全部元素 

(1)下标法

 

(2)通过指针变量

(3)通过数组名(但是数组名是常量)

思考与实现2:

3、一维指针数组

一个数组元素值为指针的数组是指针数组。

指针数组是一组有序的指针的集合。

指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。

指针数组说明的一般形式为:

类型说明符  *数组名[数组长度]

其中类型说明符为指针值所指向的变量的类型。例如:

int *pa[3]

表示pa是一个指针数组,它有三个数组元素,每个元素值都是一个指针,指向整型变量。 

转载于:https://www.cnblogs.com/xdl745464047/p/4004260.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值