例:
#includestdio.h
void?fact(int?*p,?int?n)
{
for(i?=?0;?i?n;?++i)
printf("%d?",?p?+?i);
}
printf("\n");
int?main()
printf("%d?",?a[i]);
return?0;
数组作为参数是按地址传递的
数组名就是数组的首地址.所以呢在数组名作函数参数时所进行的传送只是地址的传送, 也就是说把实参数组的首地址赋予形参数组名.形参数组名取得该首地址之后,也就等于有了实在的数组.实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间.
属于地址传递,在函数里修改的话,将直接影响调用方的数值.这是因为数组名代表这个数组的首地址,不过是静态不可更改的而已.在函数里用引用[i]下标时,就是找到这个数组第i号元素的地址进行修改的.所以是第于是地址传递.
c语言中、数组在函数中的传递可以数组元素的传递!还有就是数组名的传递!其实、数组名的传递类似指针!就是把数组的元素的首地址传到形参的!
C和C++都没有办法传数组,只能传"指针",指针和数组的差别就在于函数内无法检测数组的尺寸
很简单的,数组作为函数参数传递的时候只要是数组名就可以了,因为数组名本身就是数组的首地址 .给个程序看看
int array[N][N];
void main()
//在主函数内声明被调函数
int i,j;
printf("输入数组:\n");
for(j=0;jN;j++)
for(i=0;iN;i++)
scanf("%d",array[i][j]);
printf("%d\t",array[i][j]);
//调用矩阵转置函数
convert(array);
int i,j,t;
for(j=0;jN;j++)//设置数组中转置矩阵元素交换
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
以上就是土嘎嘎小编为大家整理的c语言向函数传递数组相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!