21xrx.com
2025-04-06 10:40:57 Sunday
文章检索 我的文章 写文章
的传递方式
2023-06-15 13:25:04 深夜i     20     0
C语言 函数调用 参数传递方式

C语言中函数调用的参数传递方式

在C语言中,函数调用时传递参数的方式有两种:传值调用和指针调用。传值调用是将实参的值复制一份传递给形参,函数中对形参的修改不会影响实参的值。而指针调用则是将实参的地址传递给形参,函数中对形参的修改会直接影响实参的值。

在使用传值调用方式时,通常适用于传递简单数据类型,如整型、浮点型等。例如:

void func(int a, float b) {
  a = a * 2;
  b = b * 2;
}
int main() {
  int x = 10;
  float y = 3.14;
  func(x, y);
  printf("%d %.2f", x, y);
  return 0;
}

输出结果为:10 3.14,因为函数中对形参a和b的修改不会影响实参x和y的值。

而在使用指针调用时,可以方便地传递复杂数据类型或者需要修改实参的情况,如数组、结构体等。例如:

void func(int *pa, float *pb) {
  *pa = (*pa) * 2;
  *pb = (*pb) * 2;
}
int main() {
  int x = 10;
  float y = 3.14;
  func(&x, &y);
  printf("%d %.2f", x, y);
  return 0;
}

输出结果为:20 6.28,因为函数中对形参pa和pb所指向的地址中的值进行了修改,影响了实参x和y的值。

  
  

评论区