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