C void指標和NULL指標

2021-08-23 13:52:36 字數 1246 閱讀 7442

我們將從指標的語法和使用並結合例子來討論他們的區別。

void 指標:

void * pointer_variable;
void這是是作為乙個關鍵字來使用。

例如:

int i;

float f;

int* exf;

float* test;

then

exf=&i;

int型別指標指向int變數的位址空間,所以是對的。

如果寫成:

exf=&f;
test=&i;
上面一條語句將會報錯。

void型別指標是可以用來指向任何資料型別的特殊指標。

使用前面的例子,如果我們手動宣告乙個void型別指標:

void* sample;
在前面的例子中,如果我們定義的乙個void型別指標去指向乙個float變數的位址空間是完全正確的。

sample=&f;
sample=&i;
在我們要取得指標所指位址空間的資料的時候使用的是 『*』操作符,程式設計師必須清楚了解到對於void指標不能使用這種方式來取得指標所指的內容。因為直接取內容是不允許的。而必須把void指標轉換成其他任何valid資料型別的指標,比如char,int,float等型別的指標,之後才能使用'*'取出指標的內容。這就是所謂的型別轉換的概念。

null pointer(空指標):

舉例:

int* exforsys;

exforsys=0;

以上的宣告表示exforsys是乙個int型別的指標,但其不指向任何有效的位址空間,這表明exforsys有乙個空指標值(0)。

void指標和null指標的區別:

#include int *exforsys;

void main()

上面程式**的輸出如下:

null pointer assignment

上面的程式丟擲執行時的錯誤。表明指標變數exforsys還沒有被分配任何有效的位址空間,並且試圖訪問0位址空間就產生了錯誤資訊。

author: unknown

original ***** url: 

C void指標和NULL指標

我們將從指標的語法和使用並結合例子來討論他們的區別。void 指標 cpp void pointer variable void這是是作為乙個關鍵字來使用。例如 cpp int i float f int exf float test then exf i int型別指標指向int變數的位址空間,所...

void指標和NULL指標

void指標我們稱之為通用指標,就是可以指向任意型別的資料。也就是說,任何型別的指標都可以賦值給void指標。舉例 includeint main 無型別指標沒辦法進行解引用,所以可以強制轉換 例子 includeint main 需要注意 使用void指標,不到必要的時候,不要亂用 如果乙個指標不...

C void型別指標的使用

一般情況下,指標的值只能賦給相同型別的指標。但是有一種特殊的void型別指標,可以儲存任何型別的物件位址,就是說任何型別的指標都可以賦值給void型別的指標變數。經過使用型別顯示轉換,通過void型別值的指標便可以訪問任何型別的資料。主要注意的是雖然通過void型別值的指標便可以訪問任何型別的資料,...