C语言形式参数传递的两种方式

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
}

猜你喜欢

转载自blog.csdn.net/qq_41709044/article/details/83278004