????????当一个函数不需要返回任何值时,可以使用void作为返回类型。
void hello()
{
? ? printf("Hello, World!");
}
????????当一个函数不需要接收任何参数时,可以使用void作为参数类型。
void swap(int *a, int *b)
{
? ? int temp = *a;
? ? *a = *b;
? ? *b = temp;
}
????????void指针可以指向任意类型的数据。
int x = 10;
void *p = &x; // ptr 是一个指向整数的泛型指针
*(int*)p = 20; // 解引用ptr,并将其转换为指向整数的指针
printf("%d\n", x); // 输出:20
????????在结构体中,可以使用void指针作为成员,以实现对任意类型的数据的存储和访问。
typedef struct {
? ? void *data; // 使用void指针作为成员
? ? int len; // 存储数据的长度
} Buffer;
????????在C99标准中,可以使用void作为数组元素的类型来定义未知类型或者通用类型的数组(如变长数组)在某些情况下,但这通常与内存管理相关,而不是常规变量声明。
void* arr[10]; ?// 这里声明了一个包含10个void指针元素的数组