C语言中实际参数和形式参数的设置及传递方式

如题所述

C语言中实际参数(实参)与形式参数(形参)之间的传递方式有传值和传地址两种函数调用方式。


下面通过举例来说明实参和形参的设置方法以及传值与传地址的两种函数调用方式。

值传递方式:

#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
}

地址传递方式:

#include<stdio.h>
void fun(int *a, int *b)  
{
    *a = 4;
    *b = 5;
}
void mian()
{
    int a=1, b=2;    
    fun(&a, &b);  // 按传地址方式调用函数fun
    printf("%d, %d\n", a, b);  // 输出a=4, b=5
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-22
如果形式参数是变量级的,实参和形参的传递就是值传递,即实参的数值复制一份传给形参;
如果形式参数是表示地址含义的,如数组、指针等,实参应该是数组名或指针,传递时实参则把地址传递给形参,即形参和实参是对相同地址的数据进行的操作。
第2个回答  推荐于2017-11-24
分为传参调用和传址调用本回答被提问者采纳
相似回答