C语言 中的 Call by value函数

首页 / C语言入门教程 / C语言 中的 Call by value函数

按值调用将参数传递给函数的方法将参数的实际值复制到函数参数中,在这种情况下,对函数内部参数所做的更改对参数没有影响。

默认情况下,C 编程使用按值调用来传递参数,通常,这意味着函数中的代码无法更改用于调用函数的参数。考虑函数swap()定义如下。

/* 交换值的函数定义 */
void swap(int x, int y) {

   int temp;

   temp=x; /* 保存 x 的值 */
   x=y;    /* 将 y 放入 x */
   y=temp; /* 将 temp 放入 y */
  
   return;
}

现在,让我们通过传递实际值来调用函数swap(),如以下示例-所示

#include <stdio.h>
 
/* 函数声明 */
void swap(int x, int y);
 
int main () {

   /* 局部变量定义 */
   int a=100;
   int b=200;
 
   printf("Before swap, value of a : %d\n", a );
   printf("Before swap, value of b : %d\n", b );
 
   /* 调用函数来交换值 */
   swap(a, b);
 
   printf("After swap, value of a : %d\n", a );
   printf("After swap, value of b : %d\n", b );
 
   return 0;
}

让我们将上述代码放在一个C文件中,编译并执行它,它将产生以下结果-

链接:https://www.learnfk.comhttps://www.learnfk.com/c-programming/c-function-call-by-value.html

来源:LearnFk无涯教程网

Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :100
After swap, value of b :200

它表明这些值没有变化,尽管它们在函数内部发生了变化。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

互联网人的英语私教课 -〔陈亦峰〕

重学线性代数 -〔朱维刚〕

性能优化高手课 -〔尉刚强〕

手把手带你搭建秒杀系统 -〔佘志东〕

深入剖析Java新特性 -〔范学雷〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

手把手带你写一个MiniSpring -〔郭屹〕

AI绘画核心技术与实战 -〔南柯〕

Rust 语言从入门到实战 -〔唐刚〕

好记忆不如烂笔头。留下您的足迹吧 :)