C語言中的void指標是什麼?


它是一個可以儲存任何資料型別變數(或)指向任何資料型別變數的地址的指標。

宣告

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

示例

以下是用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

下面給出在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
", i, *( (int *)vp + i ) );    }    return 0; }

輸出

執行上述程式時,會產生以下結果 −

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

更新於:2021年3月17日

744次瀏覽

開啟你的職業生涯

完成課程認證

開始
廣告