指针数组是由指针变量组成的数组。每个元素都是一个指向特定数据类型的指针。通过指针数组,可以创建一个指向不同数据类型的指针的集合。
在C语言中,可以使用以下语法定义指针数组:
data_type *array_name[size];
其中,data_type是指针数组中存储的数据类型,array_name是指针数组的名称,size是指针数组的大小。
指针数组的元素可以是任何数据类型的指针,例如int指针、char指针、float指针等。在定义指针数组时,需要指定元素的数据类型。
下面是一个示例,演示如何定义和使用指针数组:
#include <stdio.h>
int main() {
int num1 = 10, num2 = 20, num3 = 30;
int *ptr_array[3];
ptr_array[0] = &num1;
ptr_array[1] = &num2;
ptr_array[2] = &num3;
printf("Value of num1 = %d\n", *ptr_array[0]);
printf("Value of num2 = %d\n", *ptr_array[1]);
printf("Value of num3 = %d\n", *ptr_array[2]);
return 0;
}
在上面的示例中,首先定义了三个int变量num1、num2和num3,然后定义了一个指针数组ptr_array,大小为3。接下来,将num1、num2和num3的地址赋给ptr_array的相应元素。最后,使用指针间接访问这些变量的值,并将结果打印到控制台上。
输出结果为:
Value of num1 = 10
Value of num2 = 20
Value of num3 = 30
指针数组的常见用途是动态分配内存块,并将这些内存块的地址存储在数组中。这样,可以通过遍历指针数组访问这些内存块。此外,指针数组还可以用于实现多态性和保存不同类型的数据。