什么是C语言中的void指针?

它是一个指针,可以保存任何数据类型变量的地址(或可以指向任何数据类型变量的地址)。

宣言

void指针的声明如下-

void *pointername;

例如:

void *vp;

访问-类型转换运算符用于通过变量的指针访问变量的值。

语法

下面给出了void指针的语法-

* ( (type cast) void pointer)

示例

int i=10;
void *vp;
vp = &i;
printf (“%d”, * ((int*) vp));
// int * type cast

例子1

以下是void指针的C程序-

#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 = 10f = 5.340000

例子2

下面给出的是用于void指针中的指针算术的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\n", i, *( (int *)vp + i ) );
   }
   return 0;
}
输出结果

执行以上程序后,将产生以下结果-

array[0] = 12
array[1] = 19
array[2] = 25
array[3] = 34
array[4] = 46