计算机理论

谭浩强版C语言问题(第八章:指针)

2019-06-13  本文已影响0人  歪瑞破费特

:一、指针

指针就是地址,指针变量就是存放地址的变量。*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]);这个是值传递   

数组名作为函数参数是将数组的首地址作为值来传递,所以应该在函数的形参中用指针变量来接受数组。

(3)

上一篇下一篇

猜你喜欢

热点阅读