:一、指针
指针就是地址,指针变量就是存放地址的变量。*p取值、&p取址。(*p也可以是定义地址变量)
(1)指针在函数中的传递;
指针在函数中是“值传递”。形参中:
*p代表的意思是将指针变量P所指向的地址中的值传递给函数(相当于取值后传递,在函数中应用整型变量接受)
p代表的意思是将地址当值传递到函数中。(相当于把址当值传递过去,在函数中应该用指针变量来接受)
(2)通过指针引用数组
数组中可以存放多个元素,每个元素都有地址。数组名代表第一个元素的地址
譬如: int *p = a <=> int *p; p = &a[0]; 图8.8
数组元素的指针的运算
如果指针开始指向a[0],则p+1的含义为p指向了下一个元素。(a+1)*d. a:地址、d:编译器为它分配的单元。
若p和q指向的是同一个地址单元,则p-q含义为:“地址之差/所占存储单元”(两个元素之间差距的元素的个数)。
通过指针引用数组
下标法引用数组:a[i]
指针法引用数组:
用数组名做函数参数
int swap (int [1]);这个是值传递
数组名作为函数参数是将数组的首地址作为值来传递,所以应该在函数的形参中用指针变量来接受数组。