c语言函数怎么写数组参数,c语言函数参数为数组

c语言中怎么用二维数组作为函数参数

C语言中

创新互联是专业的轵城网站建设公司,轵城接单;提供成都网站制作、成都网站设计、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行轵城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

指针做函数参数传递二维数组有两种基本方法:1、传递“数组指针”pre

t="code"

l="cpp"#include

stdio.h

void

output(

int

(*pa)[3],

int

n

)//这个函数只能输出n行3列的二维数组

{

int

i,j;

for(

i=0;in;i++

){

for(

j=0;j3;j++

)

printf("%d

",

pa[i][j]

);

printf("\n");

}

}

void

main()

{

int

a[2][3]={

{1,2,3},

{4,5,6}

};

output(a,2);

}2、传递“指针数组”

先将二维数组的行指针存储到一个指针数组中,再将指针数组传递到子函数中去。pre

t="code"

l="cpp"#include

stdio.h

void

output(

int

*pa[],

int

row,int

col

)

//这个函数更通用,但调用前,要做好准备工作。

{

int

i,j;

for(

i=0;irow;i++

){

for(

j=0;jcol;j++

)

printf("%d

",

pa[i][j]

);

printf("\n");

}

}

void

main()

{

int

a[2][3]={

{1,2,3},

{4,5,6}

};

int

i;

int

*pa[2];

for(

i=0;i2;i++

)

pa[i]=a[i];

output(pa,

2,

3);

}

C语言中数组作为函数参数

C中数组名代表该数组的首地址,

char

s[]="abc";

s代表的就是‘a’在内存中的地址

以地址作参数

,实参和形参同时改变

c语言怎么将数组作为函数参数传入?

一维数组的元素作为函数实参,与同类型的简单变量作为实参一样,是单向的值传递,即数组元素的值传给形参,从而形参是改变不影响实参

数组名代表着整个数组的地址,如果一维数组的名字作为函数实参,传递的是整个数组,即形参数组和实参数组完全相同,是存放在同一存储空间的同一个数组。这样形参数组

修改时,实参数组也同时被修改了。形参数组的元素个数可以省略。

#includestdio.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

在c语言中怎么将数组直接作为函数的参数 比如 int f(int a[10]) 在调用函数时会显示

要把数组作为函数的参数,在函数定义的时候,就要在参数列表设置指针,因为数组名就是数组的头指针,在调用时直接把数组名作为函数的参数就好了

比如

int fun(int *a)

{

//...

}

int main()

{

int a[10];

int result=fun(a);

return 0;

}

这样就好了

通常为了在函数中确保访问数组不越界,在参数列表还要假如数组的长度,方便函数访问数组

如下:

int fun(int *a,int length)

{

int i,sum=0;

for(i=0;ilength;i++)

{

//...对数组的每个元素进行访问

sum+=a[i];//把全部元素加起来

}

return sum;

}

int main()

{

int i,a[10];

for(i=0;i10;i++)

scanf("%d",a[i]);

int result=fun(a,10);

printf("总和为:%d\n",result);

return 0;

}

c语言 数组作为函数参数怎样写

囧...

你的数组定义的size是N+1,参数传进去的size是N。

参数调用方法没错,细心,细心啊,老兄...

C语言,在函数里要输入一个数组怎么办

用指针就可以了,如

定义有int a[5];

则这样定义函数:

int fun(int *p, int size)

{

//p为数组的首地址

//size为数组的大小

//传递进去后可以像操作a一样用下标操作p

//如p[0], p[4]...

}

传递参数给函数可以这样写:

fun(a, 5);

若是多维数组,则第一维大小不给出,只指定后面的维数大小,如:

定义有int a[5][2];

则这样定义函数:

int fun(int p[][2], int size)

{

//p为数组的首地址

//size为第一维的大小

//传递进去后可以像操作a一样用下标操作p

//如p[0][1], p[4][1]...

}

传递参数给函数可以这样写:

fun(a, 5);


本文标题:c语言函数怎么写数组参数,c语言函数参数为数组
URL网址:http://azwzsj.com/article/hdsedd.html