background image

                                                                                   

(2)可以提高函数的执行效率。形参相关的存储单元较大时,

如结构体,函数执行中用实参赋值给形参将花费较多时间和存储

空间。如果把形参的类型换成相应的指针类型,函数的执行效率

则会大大提高。

(3)使用未命名的存储单元。内存中的堆存储空间在程序运行

中是用户自己申请并指定大小,一般通过调用库函数来完成,没

有变量直接参与,只能利用指针变量间接引用的方式实现。

2 指针中较易混淆概念的理解

2.1 指针变量和指针运算符

c 语言中通过变量使用计算机中的内存,变量是内存中某块存

储单元的标识,它用来存放数据,如整型变量存储整数,浮点型

变量存储实数。指针变量也是一种变量,定义一个指针变量就会

有一块存储单元与之对应,只是它存储的是地址,是某类型的地

址,如实型指针变量只能存储实型变量的地址,短整型指针变量

只能存储短整型变量的地址。

指针运算符 *”在指针中一般在两种情况下出现:第一种是定

义指针,如 int  i=13,*q;第二种是在赋值语句或程序执行中

出现。第一种中 *”代表该变量的类型是指针型变量,指针变量名

是 p,而不是*p

 “

。第二种中 *” 运算符表示取它指向的内容,*q

表示指针变量 q 所指向的变量。

比如给指针赋值,可以采用两种方法:   int i=3

,*p; p=&i; 

 int i=3

,*p=&i;分别是先定义后赋值和边定义边赋值。实际