举个例子:
#include<stdio.h>
int ff(int *p){
int a=p;
int b=a;
// …
}
int main(){
int b=3;
ff(&b);
// …
}
这是一个伪函数,主要用来说明调用函数的指针传参 p,根据调用参数的声明,我们知道这个传参指针为一个整型指针传参,也就是说p主要用于传输地址用的。
你在看这里的时候或许会对这个“”感到特别迷惑,给你大概解释一下:“int a”中的“”是表示声明的a是一个整型指针变量,传参p中的“”也是这样的,只不过他们一个是传参,一个是局部变量罢了。接下来的“int b=a”中的“”则是取值的意思了,意思就是取出指针变量a中的值,好的!那么这个a中的值是多少呢?从主函数开始看:主函数中定义一个局部的整数型变量b,这里b被赋值为3,通过调用子函数“ff(&b)”来看,“&b”则表示取了b的地址。好!这是“&”的作用。接下来子函数ff就把b的地址传给了指针传参p。最后举个小例子:快递员B从快递员A的手中接到了快递并送给你。快递员只需要传送快递——“&(取地址)”而不需要拆开快递看看里边是啥,当你收到快递后打开快递——“(取值)”后拿出东西使用。
12-17
9万+