目录
一.函数参数
二.函数参数和指针变量
三.视频教程
一.函数参数
函数定义格式:
类型名 函数名(函数参数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