void及void指標含義的深刻解析

2021-08-03 01:51:07 字數 1194 閱讀 9985

void

的含義

void

即「無型別」,

void *

則為「無型別指標」,可以指向任何資料型別。

void

指標使用規範

①void

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

void

指標賦值。例如:

int * pint;

void *pvoid;

pvoid = pint; /* 

不過不能 

pint= pvoid; */

如果要將

pvoid

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

pint= (int *)pvoid;②在

ansic

標準中,不允許對

void

指標進行算術運算如

pvoid++

或pvoid+=1

等,而在

gnu中則允許,因為在預設情況下,

gnu認為

void *

與char *

一樣。sizeof(*pvoid )== sizeof( char).

void

的作用

對函式返回的限定。

②對函式引數的限定。

當函式不需要返回值時,必須使用

void

限定。例如: 

void func(int, int);

當函式不允許接受引數時,必須使用

void

限定。例如: 

int func(void)。由於

void

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

void

指標賦值,因此還可以用

void

指標來作為函式形參,這樣函式就可以接受任意資料型別的指標作為引數。例如:

void * memcpy( void *dest, const void *src, size_t len );

void * memset( void * buffer, int c, size_t num);

void及void指標含義的深刻解析

void 的含義 void 即 無型別 void 則為 無型別指標 可以指向任何資料型別。void 指標使用規範 void 指標可以指向任意型別的資料,亦即可用任意資料型別的指針對 void 指標賦值。例如 int pint void pvoid pvoid pint 不過不能 pint pvoid...

void及void指標型別

1.概述 許多初學者對c c 語言中的void及void指標型別不甚理解,因此在使用上出現了一些錯誤。本文將對void關鍵字的深刻含義進行解說,並 詳述void及void指標型別的使用方法與技巧。2.void的含義 void的字面意思是 無型別 void 則為 無型別指標 void 可以指向任何型別...

void型別及void指標

基於前面的一篇部落格模擬實現 memcpy 和 memmove 時用到的void 指標展開關於 void 和 void 指標的概述 1.void 相信大家不會陌生,經常定義無返回值的函式是用 void 定義,表示函式無需返回值 void fun void 2.void 的字面意思是 無型別 void...