一、问题
如何在函数中传递指针?
二、解答
在定义函数时,可以使⽤指针作为函数的形参。请看如下代码。
fs(int *a,int *b)
{int t;t = *a;*a = *b;*b = t;
}
对于上⾯这样⼀个使⽤指针变量作为形参的函数,在调⽤的时候就要注意了,因为指针变量保存的是内存地址,因此在调⽤函数 fs( ) 时,对参数的传⼊就要传⼊地址,⽐如要传⼊变量 i 和j ,那么就要写成如下代码进⾏调⽤。
fs(&i,&j);
参数的传递过程如图所示。
从图中不难看出,变量 i 和指针 a,变量 j 和指针 b 分别是指向同⼀内存地址的, 所以在访问变量的时候,既可以使⽤变量名,也可以使⽤指针变量,它们都可以访问同⼀内容。
三、总结
值得注意的是,在为函数传递字符型参数时,通常都是选择使⽤指针将字符串的⾸地址传递到函数中。