C语言中函数如何接收数组 c语言函数如何调用数组

C语言子函数如何返回一个数组,主函数如何接收?

一般是需要主函数提供保存数据的数组,在参数中给出数组起始地址,然后子函数在其中填充,比如要准会的整数是56

我们提供的服务有:成都网站设计、网站建设、外贸网站建设、微信公众号开发、网站优化、网站认证、东台ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的东台网站制作公司

void fun(int *a,int b) { ... }

void main() { int a[20];

fun(a,56);

}

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语言中怎么接收一的数组,在写程序前不知道这数组的大小,并且后面有对这数组的操作!!!

接受数组的方法很多1维数组a[]你可以

func(int *a);

func(int a[]);

func(int a[10]);

这3中方法的是没区别的,

但是要在函数中获取一位数组的长度是不可能的,这是C/C++的一个无法解决的问题。你可以再定义一个形参限定一下对数组操作的大小,

比如func(int *a,int N);

这样的前提是你要知道你所操作数组必须长度小于N

C语言中如何用gets();语句来接收一个二维数组

gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。

因为gets函数是以换行符为分隔,所以用一层循环即可读取一个二维数组。对于每行字符串,使用sscanf读取每个数。

例如:

char s[100];

int a[3][3],i;for(i=0;i3;i++){

gets(s);

sscanf(s,"%d%d%d",s[i],s[i]+1,s[i]+2);

}


分享标题:C语言中函数如何接收数组 c语言函数如何调用数组
分享URL:http://scyanting.com/article/hhecje.html