c语言函数形参为数组 c语言中函数中调用形参数组

在C中想把数组作为函数的一个形参,是怎样的形式?

EG:

成都创新互联公司网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站设计、网站制作易于使用并且具有良好的响应性。

void

sortl(float

b[],int

n)/*其中函数参数有两个:一个是数组,形参的形式是b[],它在调用是接受具体数组的首地址;另一个形参是N,它在调用时数组元素的具体个数。注意用数组作为形参时,数组名是一对空方括号,而不能写成b[n],数组元素个数用另一个形参*/

{

int

i,j;

float

t;

for

(i=0;i

b[j])

{

t=b[i];b[i]=b[j];b[j]=t

}

}

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语言中数组作为函数参数

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

char

s[]="abc";

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

以地址作参数

,实参和形参同时改变

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

如果一个函数的目的是要产生一个新的数组,那么最好的做法是在调用函数前就生成好这个数组,然后把这个数组作为参数传给函数,在函数中修改这个数组的值.

像你这种做法,在sum函数结束后,sth3数组就作为局部变量被释放了.而且在main中,sum数组声明以后,sum就是一个常量了,又怎么能放在=左边呢.

另外,sum函数的算法也错了.

正确代码如下:

void Sum(int sth1[][3],int sth2[][3],int sth3[][3])

{

int i = 0;

int j =0;

do

{

sth3[i][j]=sth1[i][j]+sth2[i][j];

j++;

if(j==3)

}while(i3);

}

int main(void)

{

int matrix1[3][3]={

,

,

};

int matrix2[3][3]={

,

,

,

};

int sum[3][3];

Sum(matrix1,matrix2,sum);

Display(sum);

return 0;

}

如果还没解决你的问题,可以加我百度HI账号。


网页标题:c语言函数形参为数组 c语言中函数中调用形参数组
文章分享:http://pwwzsj.com/article/hidsoc.html