数组作为c语言函数返回值 c++数组作为函数返回值

C语言中,整个数组可以作为函数的返回值吗?

不行,C++中 数组和枚举都是不可以作为函数的返回类型来返回的,假如您想要实现返回数组,您可以声明一个结构,里面包含数组或者枚举类型,然后返货这个结构类型或者指针

成都创新互联自2013年起,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元多伦做网站,已为上家服务,为多伦各地企业和个人服务,联系电话:18980820575

曾经有本很经典的书就笑谈到(貌似是《C++primer puls》):C和C++不允许返回数组却可以返货带数组的结构体,这不是自己打自己巴掌么...

请问在C语言中数组可以作为返回值吗

返回数组是不行的(用malloc分配倒是可以但不安全),但你的要求却可以达到,那就是用指针

比如,输入a,返回b和c:

void fun(int a, int *pb, int *pc)

{

*pb = a - 1;

*pc = a + 1;

}

int main()

{

int a = 1;

int b, c;

fun(a, b, c);//输入a返回b=a-1,c=a+1两个结果

printf("a=%d,b=%d,c=%d",a,b,c);//输出结果是“a=1,b=0,c=2”

return 0;

}

C语言中函数的返回值可不可以是数组,如果可以应该怎么设置参数?请高手回答!!!

可以的,用指针做返回值

int * array(int *a){

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

a[i]++;

}

return a;

}

main(){

int *p,i;

int a[10]={1,2,3,4,5,6,7,8,9,0};

p=array();

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

printf("%d ",p[i]);

}

}

运行后数组各值加1


网站名称:数组作为c语言函数返回值 c++数组作为函数返回值
转载来源:http://cdiso.cn/article/ddjpoig.html

其他资讯