(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;分别是先定义后赋值和边定义边赋值。实际