21xrx.com
2024-12-23 01:28:35 Monday
登录
文章检索 我的文章 写文章
的传递方式
2023-06-15 13:25:04 深夜i     --     --
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的值。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复