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

如题所述

不行,C++中 数组和枚举都是不可以作为函数的返回类型来返回的,假如您想要实现返回数组,您可以声明一个结构,里面包含数组或者枚举类型,然后返货这个结构类型或者指针
曾经有本很经典的书就笑谈到(貌似是《C++primer puls》):C和C++不允许返回数组却可以返货带数组的结构体,这不是自己打自己巴掌么...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-17
要知道,在C语言中返回值都是唯一的一个值,所以说整个数组的各个元素值是不可以一次性作为返回值的,但是通常为了返回一个数组,我们用的是返回这个数组的首地址这种方法。
第2个回答  推荐于2018-04-05
你好,返回数组名返回的只能够是数组在内存空间中的首地址位置
建议楼主可以建立全局数组,这样就可以在局部函数中修改数组的值了
有不懂的可以追问~本回答被提问者和网友采纳
第3个回答  2012-02-17
那种是比较垃圾的风格,比较好的方法是

int myfunc(in, &out)

返回值只传递一个代表执行成功与否的int(也可扩展为出参out可以读取的数组元素个数),如果判断函数执行成功,再去读由函数改变的出参out。
出参out是数组首地址,在函数执行体中分配内存空间给它,调用函数时out只需传个指针地址
第4个回答  2012-02-17
可以返回指针
相似回答