在 C 语言中,不能直接通过 return 语句来返回数组。但是可以通过传递数组的指针或者数组名来达到返回数组的目的。
例如,可以在函数中定义一个指针变量,并将数组名赋值给这个指针变量,然后通过 return 语句返回指针变量。
int* returnArray(int size){
int arr[size];
// 对数组进行操作
return arr;
}
但是这种方式是有问题的,因为在函数调用结束后,arr所在的内存空间会被释放,所以返回的数组已经不能使用了。
正确的做法是:
int* returnArray(int size){
int* arr=malloc(sizeof(int)*size);
// 对数组进行操作
return arr;
}
在调用此函数后,使用完返回的数组后,需要手动释放内存,使用free(arr)。