void指標的作用

2021-09-30 11:45:33 字數 536 閱讀 1208

最近對void指標的用法比較困惑,在網上搜了一下,稍微整理分享一下:

void

指標可以指向任意型別的資料,亦即可用任意資料型別的指針對

void

指標賦值。

例如:

int * pint;

void *pvoid;

pvoid = pint; /* 

不過不能 

pint= pvoid; */

如果要將

pvoid

賦給其他型別指標,則需要強制型別轉換如:

pint= (int *)pvoid;

這個指標指向的記憶體中的資料的型別要由使用者來指定。
比如記憶體分配函式malloc函式返回的指標就是void *型,使用者在使用這個指標的時候,要進行強制型別轉換,也就是顯式說明該指標指向的記憶體中是存放的什麼型別的資料(int *)malloc(1024)表示強制規定malloc返回的void*指標指向的記憶體中存放的是乙個個的int型資料。

void指標 void 的用法

指標有兩個屬性 指向變數 物件的位址和長度 但是指標只儲存位址,長度則取決於指標的型別 編譯器根據指標的型別從指標指向的位址向後定址 指標型別不同則定址範圍也不同,比如 int 從指定位址向後尋找4位元組作為變數的儲存單元 double 從指定位址向後尋找8位元組作為變數的儲存單元 1.void指標...

void指標 void 的用法

指標有兩個屬性 指向變數 物件的位址和長度 但是指標只儲存位址,長度則取決於指標的型別 編譯器根據指標的型別從指標指向的位址向後定址 指標型別不同則定址範圍也不同,比如 int 從指定位址向後尋找4位元組作為變數的儲存單元 double 從指定位址向後尋找8位元組作為變數的儲存單元 1.void指標...

void指標 void 的用法

指標有兩個屬性 指向變數 物件的位址和長度 但是指標只儲存位址,長度則取決於指標的型別 編譯器根據指標的型別從指標指向的位址向後定址 指標型別不同則定址範圍也不同,比如 int 從指定位址向後尋找4位元組作為變數的儲存單元 double 從指定位址向後尋找8位元組作為變數的儲存單元 1.void指標...