指向void的指標

2021-09-20 18:53:41 字數 426 閱讀 1951

【萬能指標】

乙個指向任何物件型別的指標都可以賦值給型別為void*的變數,void*可以賦值給另外乙個void *,倆個void *可以比較相等與否,而且可以顯式地將void*轉換到另乙個型別。其他操作都是不安全的,因為編譯器並不知道實際被指向的是那種物件。因此,對void*做其他任何操作都將引起編譯錯誤。要使用void * 我們就必須顯示地將它轉換到某個指向特定型別的指標。例如,

void f(int *pi)

void * 最重要用途是需要向函式傳遞乙個指標,而又不能對物件的型別做出任何假設。還有就是從函式返回要給無型別的物件。要使用這樣的物件,必須通過顯式型別轉換。

採用void*的函式通常存在於系統中很低的層次裡,在**需要操作某些真實的硬體資源。

void * my_alloc(size_t n);

指向void型別的指標

指向void的指標是個非常有趣的東西,乙個指向任何物件型別的指標都可以賦值給型別為void 的變數,void 可以賦值給另乙個void 兩個void 可以比較是否相等 當兩個指標比較時,是看它們是否指向同一塊記憶體位址 而且可以顯示的將void 轉換到另乙個型別。初次之外,其他任何對void 的操作...

void指標 void 的用法

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

void指標 void 的用法

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