以下关于C语言函数参数传递方式的叙述正确的是
发布时间:2025-05-13 00:51:59 发布人:远客网络
一、以下关于C语言函数参数传递方式的叙述正确的是
数据只能由实参单向传递给形参称为“值传递”,而不能由形参传回来给实参,A选项正确;数组名、指针等作参数,实参传递给形参的是地址值,这样形参和实参就指向同一段内存单元,在函数体内对形参数据的改变也将影响到实参。实参和形参之间不可双向传递。B、D选项错误。数据不能从形参传递给实参,C选项错误。
二、c语言中参数是什么概念
1、函数的参数分为形参和实参两种。
2、形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。
3、形参和实参的功能是作数据传送,发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
4、定义一个函数s=f(a,b),功能是将a和b的差赋值给s,那么,a和b就是这个函数的两个参数。
5、方法有3种方式:值传递、地址传递、引用传递
6、被调用函数的形参只有函数被调用时才会临时分配存储单元,一旦调用结束占用的内存便会被释放
7、值传递和地址传递,传递的都是实参的一个拷贝
8、C语言中实参和形参之间的数据传递是单向的“值传递”,单向传递,只能由实参传给形参,反之不行
9、输出格式并没有选择%p而是选择了%d,因为十进制的数看起来更直观。
10、printf("before:实参为a,b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,&a,b,&b);
11、printf("after:实参为a,b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,&a,b,&b);
12、printf("inside:形参为x,y\nx=%d,地址为%d\ny=%d,地址为%d\n\n",x,&x,y,&y);
三、C语言中实际参数和形式参数的设置及传递方式
1、C语言中实际参数(实参)与形式参数(形参)之间的传递方式有传值和传地址两种函数调用方式。
2、下面通过举例来说明实参和形参的设置方法以及传值与传地址的两种函数调用方式。
3、voidfun(inta,intb)//此处a,b为形参
4、fun(a,b);//按传值方式调用函数fun,此处a,b为实参
5、printf("%d,%d\n",a,b);//输出a=1,b=2
6、fun(&a,&b);//按传地址方式调用函数fun
7、printf("%d,%d\n",a,b);//输出a=4,b=5