在C語言中,指針操作指針數組是一個常見的任務
#include <stdio.h>
int main() {
// 定義一個指針數組,存儲整數指針
int *ptr_array[3];
// 為指針數組中的每個元素分配內存并賦值
ptr_array[0] = (int *)malloc(sizeof(int));
ptr_array[1] = (int *)malloc(sizeof(int));
ptr_array[2] = (int *)malloc(sizeof(int));
if (ptr_array[0] == NULL || ptr_array[1] == NULL || ptr_array[2] == NULL) {
printf("內存分配失敗!\n");
return 1;
}
*ptr_array[0] = 10;
*ptr_array[1] = 20;
*ptr_array[2] = 30;
// 輸出指針數組中每個元素的值
for (int i = 0; i < 3; i++) {
printf("ptr_array[%d] = %d\n", i, *ptr_array[i]);
}
// 釋放指針數組中每個元素的內存
for (int i = 0; i < 3; i++) {
free(ptr_array[i]);
}
return 0;
}
在這個示例中,我們首先定義了一個指針數組ptr_array
,用于存儲整數指針。然后,我們為指針數組中的每個元素分配內存,并將它們分別賦值為10、20和30。接下來,我們使用循環遍歷指針數組,輸出每個元素的值。最后,我們使用另一個循環釋放指針數組中每個元素的內存。