C语言中如何传递函数参数和实参

 2024-03-17 00:13:41  阅读 0

功能参数

C语言中函数的参数按照传递的方式大致可以分为两类,一类是形式参数,一类是实参(不同地方对此的定义可能不同)。 那么C语言函数的形参和实参是什么? 根据一些经验,我对此做了一个通俗的总结,供参考,如下。

C语言形式参数

形式参数,即C语言中传递函数参数的过程中,传递的是变量值的副本,而不是一起引用到内存中存储的地址。 也就是说,形参经过函数中的程序代码后,无论是否被重新赋值,这个变量(用作参数的变量)的值在函数执行后都不会改变。 示例代码如下。

C语言形参示例

y的值没有被修改,输出仍然是1:

#include 

void copyArg(int x){
x++;
}

int main() {
int y = 1;
copyArg(y);
printf("%d \n", y);
return 0;
}

C语言参数

实参正好与形参相反——如果在函数内部修改实参的值,那么函数外部的值也会改变。 这是因为实际参数作为参数传递的方式是对变量(参数)的引用。 如何理解这个参考? 我个人的理解是“链接指向变量内存地址”,仅供参考!

C语言参数示例

注意实际参数的定义方式,通常是指针的形式,其中“&”是寻址符号:

#include 

void quoteArg(int *y){
*y = *y +1;
}

int main() {
int z = 2;
quoteArg(&z);
printf("%d \n", z);
return 0;
}

标签: 函数 变量 传递

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码