亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

解析void函數應用 void函數已有主體怎么解決


解析void函數應用 void函數已有主體怎么解決

文章插圖
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小編還為您精選了以下內容,希望對您有所幫助: