如何让C语言的函数返回一个数组?C语言如何从函数返回带有数组的结构?函数的返回值是由函数的定义决定的,所以在定义函数的时候要把返回值指定为指针,这样函数才能返回指针。如果函数返回的指针指向一维数组,那么函数运行时指针应该指向该数组,这样函数返回时就可以返回指向一维数组的指针,但是需要注意这个一维数组的内存在函数运行后是否被释放。
1、C语言系列之C语言如何返回字符串数组C语言没有这个功能,但是可以用数组的指针来实现:解释:char**p这个p是数组的指针,指向一个数组的起始地址。当你想引用里面的数组时,直接用p1,在voidstrcat()的strcat前加*,意思是返回char指针。2.strcat()应该返回str1,也就是return str1。Str1是连接的结果,调用者有责任保证str1的数组空间足够大,使其在尾部加上str2后不会覆盖其他数据空间。你不需要回来。数组对地址进行操作。只要操作被调用函数中的数组,主函数中的数组也会变成。只需去掉子函数的返回部分。
2、用C语言如何使函数返回值为指向一维数组的指针?函数的返回值是由函数的定义决定的,所以在定义函数时要将返回值指定为指针,这样函数才能返回指针。如果函数返回的指针指向一维数组,那么函数运行时指针应该指向该数组,这样函数返回时就可以返回指向一维数组的指针。但是需要注意这个一维数组的内存在函数运行后是否被释放。Int*pi(){staticinta在C/C中不允许返回数组,只能返回指向数组的指针。然而,这样做是非常危险的。如果返回被调用函数中定义的自动数组,函数结束后数组空间不受代码控制,通过返回的指针在主函数中操作这个空间会产生不可预知的结果。所以数组要在主调函数中声明,它的指针要传递给被调用函数,主调函数中的数组可以在被调用函数中通过这个指针直接操作。没看你写的代码,贴了一个我自己写的让数组反转的函数,ary1反转后给了ary3。
10};int*ary2Turn(ary1,10);目录3[10];inti10while(I){ I;ary 3[I]ary 2[I];}}int*Turn(int*data,inti){ int * pdata;int * qp i1而(。