c语言函数能接收数组吗 C语言函数调用数组

c语言中怎么接收一的数组,在写程序前不知道这数组的大小,并且后面有对这数组的操作!!!

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

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站建设、长安网络推广、微信小程序定制开发、长安网络营销、长安企业策划、长安品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供长安建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

func(int *a);

func(int a[]);

func(int a[10]);

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

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

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

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

c语言函数怎么调用数组部分

一、数组可定义为全局变量,函数直接调用。

二、数组可定义为局部变量,再通过参数传递到函数中调用(实参传数组名,表示数组首地址,也可通过指针或数组名+数字来传递数组局部地址)。

三、main函数想要调用函数返回的数组,可用static定义静态变量或malloc定义动态数组(字符串常量也可返回使用,但局部变量,在函数调用结束会被释放,不能作为返回地址使用)。

下面是演示代码:

#include stdio.h

#include string.h

#include malloc.h

char str1[]="我是全局变量数组";

char *fun0(char str2[]);

char *fun1();

char *fun2();

int main()

{

char *str3=NULL,*str4=NULL,*str5=NULL;

char str2[]="我是main函数的局部数组变量";

str3=fun0(str2);

printf("str3:%s,fun函数调用结束,我的地址依然可以使用\n",str3);

str4=fun1();

printf("str4:%s,fun函数调用结束,我的地址依然可以使用\n",str4);

str5=fun2();

printf("str5:%s,fun函数调用结束,函数结束不会自动释放\n",str5);

free(str5);

return 0;

}

char *fun0(char s[])

{

static char str3[]="我是fun函数申明的静态数组变量";

printf("str1:%s,fun函数可以直接调用\n",str1);

printf("str2:%s,fun函数通过参数将我的地址传进来\n",s);

return str3;

}

char *fun1()

{

char *str4="我是fun1函数的字符串常量";

return str4;

}

char *fun2()

{

int len;

char sTemp[]="这是一个临时数组,之后用于给mallc申请的地址传值,传递内容为:(我是fun函数通过mallic申请的数组)";

char *str5=NULL;

len=strlen(sTemp+63);

str5=(char *)malloc(sizeof(char)*len+1);

if(!str5)return NULL;

strcpy(str5,sTemp+63);

str5[len-2]=0;

return str5;

}

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

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

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

void main() { int a[20];

fun(a,56);

}


当前名称:c语言函数能接收数组吗 C语言函数调用数组
文章路径:http://ybzwz.com/article/docpeod.html