
文章插圖
void不是“空”的意思,是“萬能”的意思 。
void與普通變量的結合void修飾普通變量 也就是這個變量的類型是任何類型,比如void a; a=10;不過幾乎沒有人這樣做,這樣寫在有些編譯器中也是出錯的 。如下圖所示:
因此我們在定義變量時都會給一個確定的類型 。同時系統(tǒng)會給這個變量分配相應的內存空間,如果定義為void類型變量,系統(tǒng)就不知道要給這個變量分配多大的內存空間 。因此這樣寫是錯的 。同樣,void*修飾變量也是類似 。
void與函數的結合void在自己定義函數中作為參數和返回值的使用 。如果函數沒有返回值,那么可以將這個函數的返回設置為void類型 。比如
void fun(int i){ printf("i = %d n", i)}如果函數有返回值,但是在定義的時候沒有返回類型,那么默認的返回值的類型為整型 。如果函數沒有參數應在函數名后的小括號內寫上void,常見的int main(void)或者比如
int fun(void){ int i = 10; return i;}void *指針與函數的結合void *修飾指針變量 表示這個變量可以指向任何類型的指針 。
如果在實際的開發(fā)中,如果我們所需要的參數或者是返回值為任意一種指針類型,那么可以將參數或者返回值寫成void *形式 。比如我們常用的memcpy memset函數都是這樣做的 。這些內存操作函數只管所需要的空間大小,不管申請后這些空間是用來存儲int類型還是char類型亦或是其他類型額數據 。這樣也就保證了這些內存函數使用的范圍更廣 。這里的參數個返回值void*類型就表示可以是任何需要的類型 。
void *memcpy(void *dest, const void *src, size_t n);
void *memset(void *s, int c, size_t n);
以上就是所總結的void的用法,這些都是必須要掌握的,上機實戰(zhàn),理解才是王道 。
以上關于本文的內容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!
「愛刨根生活網」www.malaban59.cn小編還為您精選了以下內容,希望對您有所幫助:- 解析擴頻通信主要技術及優(yōu)缺點 擴頻通信的基本原理是什么
- 解析ppt常見的2種比例 ppt標準尺寸縱橫比
- 解析固態(tài)硬盤基礎知識 固態(tài)硬盤種類與優(yōu)缺點
- 劃船器使用動作詳細解析
- 有關mybatis知識點解析 mybatis調用存儲過程
- 揭秘牛排有沒有8分熟?牛排幾分熟有幾個等級解析
- 基礎原理和算法解析 nginx的負載均衡算法有哪些
- 史上最全的kafka知識解析 kafka作用是什么
- 自建dns解析服務器基本步驟 如何自建dns解析服務器
- 2022年臘八節(jié)是黃道吉日嗎?今年臘八節(jié)黃歷解析
