目录
一.函数参数
二.函数参数和指针变量
三.视频教程
一.函数参数
函数定义格式:
类型名 函数名(函数参数1,函数参数2...)
{
代码段
}
如:
int sum(int x,int y)
{
return x+y;
}
函数参数的类型可以是普通类型,也可以是指针类型。什么时候使用指针类型呢?
二.函数参数和指针变量
例:
在主函数中有俩个整数并存入变量中,然后在被调函数中将这俩个变量的值互换。
如果不使用指针变量作为函数参数,我们这样写。
#include <stdio.h>
void swap(int a,int b)
{
int c;
c = a;
a = b;
b = c;
printf("a is %d,b is %d\n",a,b);
}
int main(void)
{
int a = 1;
int b = 2;
swap(a,b);
printf("a is %d,b is %d\n",a,b);
return 0;
}
运行结果:
a和b只在swap函数中被调换了。如果不使用指针变量,我们可以这样修改:
#include <stdio.h>
int a = 1;
int b = 2;
void swap(void)
{
int c;
c = a;
a = b;
b = c;
printf("a is %d,b is %d\n",a,b);
}
int main(void)
{
swap();
printf("a is %d,b is %d\n",a,b);
return 0;
}
运行结果:
虽然成功实现了a和b值的互换,但是swap函数非常不灵活,只能交换a和b的值,基本上写死了。
如果我们使用指针变量作为参数会发生什么事情呢?
#include <stdio.h>
void swap(int *a,int *b)
{
int c;
c = *a;
*a = *b;
*b = c;
}
int main(void)
{
int a = 1;
int b = 2;
swap(&a,&b);
printf("a is %d,b is %d\n",a,b);
return 0;
}
运行结果:
分析:
使用指针变量作为参数成功实现了a和b互换,而且swap函数非常灵活,可以在任意函数中调用。这个就是指针作为函数参数的意义。
三.视频教程
64.函数参数和指针变量_哔哩哔哩_bilibili