不能对 void 类型的变量进行解引用等

如果有 void *a; 这样的声明,那么不能通过 *a 进行取值操作。

void * 是C语言中的通用指针类型,可以存储任意类型的指针。然而,由于 void 类型本身是无类型的,编译器无法确定它具体指向的是什么类型的数据。因此,在使用 void * 进行指针运算或解引用操作时,是不被允许的

如果需要对 void * 类型的指针进行解引用操作,必须先将其转换为特定类型的指针,以告知编译器需要操作的数据类型。例如:

void *a;
int *intPtr = (int *)a;

在这个示例中,将 void * 类型的指针 a 转换为指向 int 类型的指针 intPtr,然后可以通过 *intPtr 来解引用获取所指向的 int 类型的值。

你可能感兴趣的:(c语言)