指向不同结构的指针数组是一种数据结构,它可以存储多个指针,每个指针指向不同的数据结构。这种数据结构在编程中可以用于存储和管理多个不同类型的数据,例如结构体、类或其他数据结构。
以下是一个简单的示例,演示如何使用指向不同结构的指针数组:
#include<stdio.h>
#include <stdlib.h>
typedef struct {
int a;
float b;
} Struct1;
typedef struct {
char c;
double d;
} Struct2;
int main() {
Struct1 s1 = {1, 2.0};
Struct2 s2 = {'a', 3.0};
void *ptr[2];
ptr[0] = &s1;
ptr[1] = &s2;
printf("Struct1: a = %d, b = %f\n", ((Struct1*)ptr[0])->a, ((Struct1*)ptr[0])->b);
printf("Struct2: c = %c, d = %f\n", ((Struct2*)ptr[1])->c, ((Struct2*)ptr[1])->d);
return 0;
}
在这个示例中,我们定义了两个结构体 Struct1
和 Struct2
,并创建了两个不同类型的变量 s1
和 s2
。然后,我们创建了一个指针数组 ptr
,其中包含指向 s1
和 s2
的指针。最后,我们使用强制类型转换来访问指针数组中的每个结构体的成员变量。
指向不同结构的指针数组在编程中有很多应用,例如在动态内存分配、数据结构设计、通用函数参数传递等场景中。
领取专属 10元无门槛券
手把手带您无忧上云