在C語言中,要在函數中返回指針,需要按照以下步驟操作:
int*
、char*
等。以下是一個簡單的示例代碼來說明如何在函數中返回指針:
#include <stdio.h>
#include <stdlib.h>
int* createArray(int size) {
int* ptr = (int*)malloc(size * sizeof(int)); // 分配內存空間
if (ptr == NULL) {
printf("Memory allocation failed\n");
exit(1);
}
for (int i = 0; i < size; i++) {
ptr[i] = i; // 對數組賦值
}
return ptr;
}
int main() {
int* array = createArray(5); // 調用函數創建數組
for (int i = 0; i < 5; i++) {
printf("%d ", array[i]); // 打印數組元素
}
free(array); // 釋放內存空間
return 0;
}
在上面的示例中,createArray
函數返回一個指向整型數組的指針,并在內部分配了一個包含5個元素的數組。在main
函數中調用createArray
函數并打印數組的元素值,最后釋放內存空間。
需要注意的是,在使用完返回的指針后,必須要通過free
函數來釋放分配的內存空間,以避免內存泄漏問題。