函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。指针变量作为函数参数与变量本身作函数参数不同,变量作函数参数传递的是具体值,而指针作函数参数传递的是内存的地址。
用指针变量作函数参数,在被调函数的执行过程中,应使指针变量所指向的参数值发生变化,这样,函数在调用结束后,其变化值才能保留回主调函数。
函数调用不能改变实参指针变量的值,但可以改变实参指针变量所指向变量的值。
int *p;
void main(void)
{ int a=1, b=2, c=3;
p=&b;
pp(a+c, &b);
cout<<“(1)”<<a<<‘ ‘<<b<<‘ ‘<<*p<<endl;
}
pp(int a, int *b)
{ int c=4;
*p=*b+c;
a=*p-c;
cout<<“(2)”<<a<<‘ ‘<<*b<<‘ ‘<<*p<<endl;
}
//结果:
*p=*b+4=2+4=6
a=6-c=2
(1) 1 6 6
(2) 2 6 6