在C语言中,数组作为参数,是怎样在函数之间传递的啊??

哪位大神能够解释得详细点吗??越详细越还好........额,这个我们还没学到指针的,能讲得通俗易懂点吗??... 哪位大神能够解释得详细点吗??越详细越还好........
额,这个我们还没学到指针的,能讲得通俗易懂点吗??
展开
 我来答
lfrqba
推荐于2017-11-23 · TA获得超过264个赞
知道答主
回答量:59
采纳率:0%
帮助的人:62.9万
展开全部
数组作为参数是按地址传递的
数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送只是地址的传送, 也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。
20081121126
2010-12-08 · TA获得超过253个赞
知道答主
回答量:55
采纳率:0%
帮助的人:64.1万
展开全部
函数里写明数组类型,数组名再加中括号就行了,但同时最好写上数组里的元素个数;要么直接用指针(你没学就不说了)!
如 int fun(int a[],int n); //声明一个函数,传入一个a数组,n代表行标
调用 fun(a,n)就行了;
怎样??懂了吧!!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aixuxnc
推荐于2018-09-18 · TA获得超过1714个赞
知道小有建树答主
回答量:1071
采纳率:0%
帮助的人:505万
展开全部
很简单的,数组作为函数参数传递的时候只要是数组名就可以了,因为数组名本身就是数组的首地址 .给个程序看看

#include<stdio.h>
#define N 3
int array[N][N];
void main()
{
//在主函数内声明被调函数
void convert(int array[][3]);
int i,j;
printf("输入数组:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
scanf("%d",&array[i][j]);
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
//调用矩阵转置函数
convert(array);
printf("\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",array[i][j]);
printf("\n");
}
}
void convert(int array[][3])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)//设置数组中转置矩阵元素交换
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aixuxnc
2017-12-29 · TA获得超过1714个赞
知道小有建树答主
回答量:1071
采纳率:0%
帮助的人:505万
展开全部
很简单的,数组作为函数参数传递的时候只要是数组名就可以了,因为数组名本身就是数组的首地址 .给个程序看看

#include<stdio.h>
#define N 3
int array[N][N];
void main()
{
//在主函数内声明被调函数
void convert(int array[][3]);
int i,j;
printf("输入数组:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
scanf("%d",&array[i][j]);
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
//调用矩阵转置函数
convert(array);
printf("\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",array[i][j]);
printf("\n");
}
}
void convert(int array[][3])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)//设置数组中转置矩阵元素交换
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaarensheng
2010-12-08 · 超过11用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:0
展开全部
取数组首地址做地址传递,如要传送int a[10],可以在函数中写,fun(int *a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式