#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。接下来,我们使用循环遍历指针数组,输出每个元素的值。最后,我们使用另一个循环释放指针数组中每个元素的内存。