func(&a); //要修改一个变量,把他的地址传过去 printf("%d",a);//9 int b = 3;int c = 4; swap(&b,&c); return 0; }
当被调函数在其函数体内修改数组元素时,它真正修改的是存储在原存储单元中元素。 出于性能考虑,C语言自动地以传地址的方式将数组传递给被调函数。 试想一下,如果以传值的形式将数组传递给函数,那么每个元素的副本都要传递给被调函数。 当需要频繁传递一个很大的数值时,数组元素的复制将是一项既费时又费存储资源...
如果是传地址,那就是把两个数的地址传到函数中,对两个地址中的内容进行操作。所以会改变两个数的值。一般如果要通过函数来改变参数的值,C都是要用传地址的,C++还可以用引用。比如scanf()函数,因为要把输入的值传递给参数,所以要加取地址符号&.而printf就不用 ...
回答:如果是不是传地址,那会在函数中重新定义两个变量分别等于两个参数的值,对新定义的两个变量进行操作。和原来的两个变量无关。 如果是传地址,那就是把两个数的地址传到函数中,对两个地址中的内容进行操作。所以会改变两个数的值。 一般如果要通过函数来改变参数的值,C都是要用传地址的,C++还...
向函数传入某数组时,可以在函数内修改该数组的元素。 #include<stdio.h> voidtest(char* p,chararr[]){ *p ='h';//能改变 *arr ='h';//能改变 *(p +1) ='e';//能改变 *(arr +1) ='e';//能改变 p[2] ='*';//能改变 arr[2] ='*';//能改变 ...
在C语言中,若函数调用时实参是数组名,则传递给对应形参的是___。A.数组空间的首地址B.数组的第一个元素值C.数组中元素的个数D.数组中所有的元素请帮忙给出正确答
A.数组空间的首地址; 正确答案:A解析:本题考查C语言编程中函数实参和形参关系的知识。C语言中,数组名代表该数组的起始地址,它指向该数组的开始位置,但是它的值不能被修改。在函数的定义中,可以用数组名作为参数,被声明为数组的形参实际上是一个指针。当实参向形参传递数组时,按值调用传递数组的首地址,数组元素的...
百度试题 题目C语言中数组名作为函数参数时,其数据传递方式是 [ ] A. 地址传递 B. 单向值传递 C. 返回值传递 D. 全局变量传递 相关知识点: 试题来源: 解析 A.地址传递 反馈 收藏
在C语言中,用数组名作为函数的实参,实际上是将数组的首地址传递给被调用函数。A.正确B.错误
C.数组中元素的个数D.数组中所有的元素 相关知识点: 试题来源: 解析 A [分析] 本题考查C语言中函数参数的传递。 函数参数的传递是指函数调用过程中形参与实参结合的过程。函数调用未发生时,编译系统并没有给函数的形参分配实际内存空间,因此没有实际的参数值。只有发生了函数的实际调用时,才给函数的各形参分配...