c语言函数返回一个数组怎么返回?
时间: 2024-05-06 20:20:53 浏览: 66
C++ 让函数返回数组的方法
在C语言中,函数不能直接返回一个数组,但可以通过以下两种方式来返回数组:
1. 将数组作为函数的参数传递,并在函数内修改数组的值。
例如:
```c
void modifyArray(int arr[], int size) {
for(int i=0; i<size; i++) {
arr[i] = i + 1;
}
}
int main() {
int myArray[5] = {0};
modifyArray(myArray, 5);
for(int i=0; i<5; i++) {
printf("%d ", myArray[i]);
}
return 0;
}
```
输出结果为:1 2 3 4 5
2. 动态分配内存并返回指向数组的指针。
例如:
```c
int* createArray(int size) {
int* arr = (int*)malloc(size * sizeof(int));
for(int i=0; i<size; i++) {
arr[i] = i + 1;
}
return arr;
}
int main() {
int* myArray = createArray(5);
for(int i=0; i<5; i++) {
printf("%d ", myArray[i]);
}
free(myArray);
return 0;
}
```
输出结果为:1 2 3 4 5
需要注意的是,在使用完指向动态分配内存的指针之后,需要使用free()函数释放内存。
阅读全文