C语言中实际参数(实参)与形式参数(形参)之间的传递方式有传值和传地址两种函数调用方式。
1.直接传值。
直接传值,在fun函数里面改变a,b的值,不会改变主函数里面a,b的值。
#include<stdio.h>
void fun(int a, int b) // 此处a, b为形参
{
a++;
b++;
}
void mian()
{
int a=1, b=2;
fun(a, b); // 按传值方式调用函数fun,此处a,b为实参
printf("%d, %d\n", a, b); // 输出a=1, b=2
}
2.传地址方式
在fun函数里面改变a.b的值,主函数里面a,b的值也会改变。
#include<stdio.h>
void fun(int *a, int *b)
{
*a =3;
*b =4;
}
void mian()
{
int a=1, b=2;
fun(&a, &b); // 按传地址方式调用函数fun
printf("%d, %d\n", a, b); // 输出a=3, b=4
}