它是一个指针,可以保存任何数据类型变量的地址(或)可以指向任何数据类型变量。
声明
void指针的声明如下所示 −
void *pointername;
例如 − void *vp;
访问 − 通过指针访问变量的值时使用类型转换运算符。
语法
void指针的语法如下 −
* ( (type cast) void pointer)
示例 1
int i=10;
void *vp;
vp = &i;
printf ("%d", * ((int*) vp));
// int * type cast
Example
以下是C程序的void指针:
实时演示
#include<stdio.h>
main ( ){
int i =10;
float f = 5.34;
void *vp;
vp = &i;
printf ("i = %d", * ((int*)vp));
vp = &f;
printf ( "f = %f", * ((float*) vp));
}
输出
当执行上述程序时,它产生以下结果 −
i = 10
f = 5.34
示例2
下面给出了在空指针中进行指针算术的C程序 −
在线演示
#include<stdio.h>
#define MAX 20
int main(){
int array[5] = {12, 19, 25, 34, 46}, i;
void *vp = array;
for(i = 0; i < 5; i++){
printf("array[%d] = %d</p><p>", i, *( (int *)vp + i ) );
}
return 0;
}
输出
当执行上述程序时,它产生以下结果 −
array[0] = 12
array[1] = 19
array[2] = 25
array[3] = 34
array[4] = 46