本质:被调函数利用地址对主函数的值进行操作
1.定义函数时参数使用指针
2.定义指针变量后要存放某个变量的地址;
3.调用指针函数时输入变量地址。
3.之后才能使用变量,且无论时内部函数还是外部函数*指针名相当于指针指向的变量。
/*定义函数参数指针访问main函数中多个值的调用和返回*/
#include<stdio.h>
int divide(int a, int b, int* result); //1.先声明函数用于主函数调用,形参为指针变量
int main()
{
int a = 5;
int b = 2;
int c;
if (divide(a, b, &c)) //2.调用函数,判断分母是否为零,&c调用c的地址在不同函数间操作,c中存放结果地址
{
printf("%d/%d=%d\n", a, b, c);
}
return 0;
}
int divide(int a, int b, int* result) //定义函数,*result指针用于接受C的地址
{
int ret = 1;
if (b == 0) ret = 0;
else {
*result = a / b; //3.*result相当于指针result只当地址的值,即变量c的值。(只能在被调函数中这么使用)
}
return ret;
}