它是一個(gè)指針,可以保存任何數(shù)據(jù)類型變量的地址(或)可以指向任何數(shù)據(jù)類型變量。
聲明
void指針的聲明如下所示 ?
void *pointername;
登錄后復(fù)制
例如 − void *vp;
訪問(wèn) − 通過(guò)指針訪問(wèn)變量的值時(shí)使用類型轉(zhuǎn)換運(yùn)算符。
語(yǔ)法
void指針的語(yǔ)法如下 −
* ( (type cast) void pointer)
登錄后復(fù)制
示例 1
int i=10; void *vp; vp = &i; printf ("%d", * ((int*) vp)); // int * type cast
登錄后復(fù)制
Example
以下是C程序的void指針:
實(shí)時(shí)演示
#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)); }
登錄后復(fù)制
輸出
當(dāng)執(zhí)行上述程序時(shí),它產(chǎn)生以下結(jié)果 −
i = 10 f = 5.34
登錄后復(fù)制
示例2
下面給出了在空指針中進(jìn)行指針?biāo)阈g(shù)的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; }
登錄后復(fù)制
輸出
當(dāng)執(zhí)行上述程序時(shí),它產(chǎn)生以下結(jié)果 −
array[0] = 12 array[1] = 19 array[2] = 25 array[3] = 34 array[4] = 46
登錄后復(fù)制
以上就是在C語(yǔ)言中,空指針是什么?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.xfxf.net其它相關(guān)文章!