C中的void指针
C中的void指针是不与任何数据类型相关联的指针。它指向存储装置中的某些数据位置,指向变量的地址。也称为通用指针。在C语言中,malloc()
和calloc()
函数返回void*或通用指针。
它有一些限制-
1)由于具体大小,使用空指针无法进行指针算术运算。
2)不能用作取消引用。
算法
开始 声明一个整数数据类型。 初始化a = 7。 声明float数据类型的b。 初始化b = 7.6。 将指针p声明为void。 初始化指向a的p指针。 打印“整数变量为”。 打印使用指针p的值。 初始化指向b的p指针。 打印“浮点变量为”。 使用指针p打印b的值 结束。
这是一个简单的例子-
范例程式码
#include<stdlib.h> int main() { int a = 7; float b = 7.6; void *p; p = &a; printf("Integer variable is = %d", *( (int*) p) ); p = &b; printf("\nFloat variable is = %f", *( (float*) p) ); return 0; }
输出结果
Integer variable is = 7 Float variable is = 7.600000