C语言数组指针可以作为函数的返回值吗
时间: 2023-12-21 12:06:19 浏览: 136
用C语言指针作为函数返回值_C语言中文网1
是的,C语言中数组指针可以作为函数的返回值。数组指针是指向数组的指针,它可以指向一个数组的首地址。
下面是一个示例代码:
```c
#include <stdio.h>
int (*getArray())[5] {
static int arr[5] = {1, 2, 3, 4, 5};
return &arr;
}
int main() {
int (*ptr)[5];
ptr = getArray();
for(int i = 0; i < 5; i++) {
printf("%d ", (*ptr)[i]);
}
return 0;
}
```
在上述代码中,`getArray` 函数返回了一个指向静态整型数组的数组指针。在 `main` 函数中,我们将返回的数组指针赋给 `ptr`,然后通过指针访问数组元素并打印出来。输出结果为:1 2 3 4 5。
需要注意的是,由于返回的是数组指针,在函数内部定义的数组应该是静态数组或者动态分配的内存,以确保在函数调用结束后依然有效。此外,返回的数组指针的维度也需要与实际数组的维度匹配。
阅读全文