指针变量作为函数参数
我们说过,函数参数可以是变量,那么既然指针变量也是变量的一种,能否作为函数的参数呢?答案是肯定的!而指针变量作为函数参数的主要作用是,将变量地址传送到函数中。
从例子引入
我们通过两个使用指针变量作为函数参数的例子,来引入我们今天的内容。
问题
输入两个数,返回其中的较大者,设计一个自定义函数进行比较,要求使用指针变量作为函数参数。
解答
#include <stdio.h>
int main(){
int a, b;
int abmax(int * pointer_1, int * pointer_2);
//声明了一个指针变量作为参数的函数
int * a_pointer, * b_pointer;
printf("请输入两个数:\n");
scanf("%d %d",&a,&b);
a_pointer=&a;
b_pointer=&b;
//给指针变量赋值
printf("%d 和 %d 中较大的是:%d\n",a,b,abmax(a_pointer, b_pointer));
return 0;
}
int abmax(int *pointer_1, int *pointer_2){
if (*pointer_1>*pointer_2){
//接收到指针变量的地址后,对比该地址的数据内容
return (*pointer_1);
}else{
return (*pointer_2);
}
}