指针学习笔记(2)——基本操作

int a[10];

int * p;

in i;

p=a;

1.       数组名a代表数组首元素的地址,它是一个指针常量,它的值在程序运行期间是固定不变的。

2.       “p=a”的作用是将数组a的首元素的地址赋给指针变量p。

3.       引用一个数组,可以用下标法,如a[i]或p[i],也可以用指针法,如*(p+i)或*(a+i)。

4.       [ ]实际上是变址运算符,即将a[i]按a+i计算出地址,然后找出此地址单元中的值。

5.       使用指针法能使目标程序质量高(占用内存少,运行速度快)。

6.       *(p++):先取 *p 的值,再使 p 加1,相当于 a[i++]

          *(++p): 先使 p 加1,再取 *p,相当于 a[++i]

          ++(*p): 先取 *p 的值,再使 *p 的值加1,相当于 a[i]++

7.       voidfun(int arr[]) 相当于 void fun(int *arr) ,C编译都是将形参数组名作为指针变量来处理的。

8.       实参和形参组合共有四种:分别是,都用数组名;都用指针变量;实参用数组名,形参用指针变量;实参用指针变量,形参用数组名;但本质上都一样,都是使用指针变量。

9.       实参数组名代表一个固定的地址,是指针常量,但形参数组是作为指针变量,在函数调用开始时,它的值等于实参数组首元素的地址,在函数执行期间,他可以在被赋值。

10.   如果指针变量作实参,必须先使指针变量有确定的值,指向一个已定义的单元。

《C语言程序设计》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值