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