读取数组并通过指针返回它的方法是使用指针作为函数的参数。以下是一个示例代码:
#include <stdio.h>
// 函数声明,参数为数组指针和数组长度
int* readArray(int* arr, int length);
int main() {
int arr[] = {1, 2, 3, 4, 5};
int length = sizeof(arr) / sizeof(arr[0]);
// 调用函数并接收返回的指针
int* result = readArray(arr, length);
// 打印返回的数组
for (int i = 0; i < length; i++) {
printf("%d ", result[i]);
}
return 0;
}
// 函数定义,读取数组并通过指针返回
int* readArray(int* arr, int length) {
// 创建一个新的数组,用于存储读取的数组
int* newArray = (int*)malloc(length * sizeof(int));
// 将原数组的值复制到新数组中
for (int i = 0; i < length; i++) {
newArray[i] = arr[i];
}
// 返回新数组的指针
return newArray;
}
上述代码中,readArray
函数接收一个整型数组指针和数组长度作为参数。它首先动态分配了一个新的数组newArray
,用于存储读取的数组。然后,通过遍历原数组,将原数组的值复制到新数组中。最后,返回新数组的指针。
在main
函数中,我们声明了一个整型数组arr
,并计算出数组的长度。然后,调用readArray
函数,并将原数组和长度作为参数传递给它。接收返回的指针后,我们使用循环打印出返回的数组。
这种方法可以实现通过指针返回数组,避免了数组的复制和传递过程中的内存开销。
领取专属 10元无门槛券
手把手带您无忧上云