c语言

C语言形参和实参怎么传递

小亿
261
2023-11-24 13:41:22
栏目: 编程语言

在C语言中,形参和实参的传递是通过函数调用来实现的。在调用函数时,需要提供实参(也称为实际参数),这些实参的值会被传递给函数的形参(也称为形式参数)。

一般来说,有以下两种方式来传递实参给形参:

  1. 值传递:将实参的值复制给形参,函数中对形参的修改不会影响到实参的值。

示例代码:

#include <stdio.h>

void changeValue(int x) {
    x = 10;  // 修改形参的值
}

int main() {
    int num = 5;  // 实参的值
    changeValue(num);  // 传递实参给形参
    printf("num = %d\n", num);  // 输出实参的值,仍然为 5
    return 0;
}
  1. 地址传递:将实参的地址传递给形参,通过指针访问实参的值,函数中对形参的修改会影响到实参的值。

示例代码:

#include <stdio.h>

void changeValue(int *x) {
    *x = 10;  // 通过指针修改实参的值
}

int main() {
    int num = 5;  // 实参的值
    changeValue(&num);  // 传递实参的地址给形参
    printf("num = %d\n", num);  // 输出实参的值,被修改为 10
    return 0;
}

需要注意的是,指针变量作为形参时,可以使用地址传递来修改实参的值。而对于其他非指针类型的变量,只能通过值传递来传递实参给形参。

0
看了该问题的人还看了