c语言怎么将数组作为函数参数传入?
发布网友
发布时间:2022-04-25 02:10
我来回答
共2个回答
好二三四
时间:2022-07-21 06:46
现在我们来看看,C语言如何如何传递数组。
首先,我们可以在参数中直接写数组加【】。
我们也可以给他写上下标。
同时,还可以以指针形式传递。
如果是二维数组,列下标一定不能省略。
但是,定义的时候,不可以用变量来声明元素。
运行测试,我们会发现可以正常运行。
热心网友
时间:2022-07-21 03:54
一维数组的元素作为函数实参,与同类型的简单变量作为实参一样,是单向的值传递,即数组元素的值传给形参,从而形参是改变不影响实参
数组名代表着整个数组的地址,如果一维数组的名字作为函数实参,传递的是整个数组,即形参数组和实参数组完全相同,是存放在同一存储空间的同一个数组。这样形参数组
修改时,实参数组也同时被修改了。形参数组的元素个数可以省略。
#include<stdio.h>
//数组作为函数参数,可以省略元素个数
//数组作为函数参数,传递是整个数组的地址,修改了函数形参数组元素的值,会影响到外面的实参数组
void change(int array[])
{
printf("array ==%p\n",array);
array[0] = 100;
}
int main()
{
int ages[6] = {10,11,13,15,11,18};
printf("array ==%p\n",ages);
change(ages);
printf("%d\n",ages[0]);
return 0;
}
输出结果为: array ==0x7fff5be26c00
array ==0x7fff5be26c00
100