C语言函数参数
函数参数
C语言的函数的参数根据其传递的方式大致可分为两类,一是形参,二是实参(不同的地方对此的定义可能有所不同)。那什么是C语言函数的形参和实参呢?鄙人根据一些经验,对此进行了通俗的总结,可供参考,如下。
C语言形参
形参,即在C语言函数参数传递的过程中,传递的是变量值的一个拷贝,并不会对其存储在内存中的地址一起引用,也就是说,形参经过函数中的程序代码之后,不管有没有被重新赋值,在函数执行之后,该变量(作为参数的变量)的值是不会发生改变的。示例代码如下。
C语言形参实例
y的值并没有被修改,输出的仍然为1:
#include <stdio.h>
void copyArg(int x){
x++;
}
int main() {
int y = 1;
copyArg(y);
printf("%d \n", y);
return 0;
}
C语言实参
实参,正好与形参相反——实参的值在函数内被修改的话,那么在函数之外的值也会发生改变。这是因为实参作为参数传递值的方式是该变量(参数)的引用,该如何理解这个引用呢?个人的理解方式是“指向变量内存地址的链接”,仅供参考!
C语言实参实例
注意实参的定义方式,一般为指针的方式,其中“&”是寻址符号:
#include <stdio.h>
void quoteArg(int *y){
*y = *y +1;
}
int main() {
int z = 2;
quoteArg(&z);
printf("%d \n", z);
return 0;
}
免责声明:内容仅供参考。