进制转换c语言代码_奇怪的C语言代码,有些函数在变量前加上(void)是什么类型转换?...
C語(yǔ)言的語(yǔ)法極其簡(jiǎn)潔,即使是初次接觸編程語(yǔ)言的初學(xué)者也能很快學(xué)完它的語(yǔ)法。不過(guò),C語(yǔ)言也是一門(mén)“靈活得過(guò)了頭”的編程語(yǔ)言,對(duì)于很多初學(xué)者來(lái)說(shuō),編寫(xiě)C語(yǔ)言程序就好像拿著一堆最基本的磚塊,要修建一座大廈一樣,茫然找不到方向。
茫然找不到方向
奇怪的C語(yǔ)言代碼
對(duì)于初學(xué)者來(lái)說(shuō),閱讀項(xiàng)目源代碼是學(xué)習(xí)和鞏固C語(yǔ)言編程能力的一個(gè)好方法——從前輩們的一些優(yōu)秀C語(yǔ)言項(xiàng)目中,我們能夠?qū)W到很多編寫(xiě)程序方面的思考方式,也就是一些程序員所謂的“編程思維”,看得多了,編寫(xiě)C語(yǔ)言程序自然就手到擒來(lái)了。
不過(guò)雖然C語(yǔ)言的語(yǔ)法簡(jiǎn)單,但是我們總會(huì)看到一些令人迷惑的代碼,例如下面這個(gè)函數(shù),它來(lái)自某個(gè)開(kāi)源項(xiàng)目,為了討論主題,我將一些不相關(guān)的細(xì)節(jié)略去了:
void *fun(void *ud, void *ptr, int size){ (void) ud; (void) size; // 其他代碼,未用到 ud 和 size 參數(shù) ...}fun() 函數(shù)中省略掉的代碼沒(méi)有使用到 ud 和 size 參數(shù),這里有兩個(gè)問(wèn)題:一是既然用不到這兩個(gè)參數(shù),為什么不刪去它們呢?再就是兩個(gè)參數(shù)前的 (void) 類(lèi)型轉(zhuǎn)換有什么用呢?
為什么不刪除多余參數(shù)呢?(void) 類(lèi)型轉(zhuǎn)換有什么用呢?
首先考慮第一個(gè)問(wèn)題
前文提到 fun() 函數(shù)來(lái)自一個(gè)C語(yǔ)言程序開(kāi)源項(xiàng)目,該項(xiàng)目比較復(fù)雜,但是我們知道再?gòu)?fù)雜的程序項(xiàng)目也是一行一行代碼敲出來(lái)的,而且,在后續(xù)的開(kāi)發(fā)中,可能會(huì)修改之前的設(shè)計(jì)。明白這一點(diǎn),要回答第一個(gè)問(wèn)題就簡(jiǎn)單了。
可能在之前的設(shè)計(jì)中,fun() 函數(shù)是用到了 ud 和 size 參數(shù)的,只是后來(lái)的設(shè)計(jì)發(fā)現(xiàn) fun() 函數(shù)不必使用這兩個(gè)參數(shù),但是發(fā)現(xiàn)整個(gè)C語(yǔ)言項(xiàng)目由大量使用 fun() 函數(shù)的代碼。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的进制转换c语言代码_奇怪的C语言代码,有些函数在变量前加上(void)是什么类型转换?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据图表与分析图_几种可视化数据分析图表
- 下一篇: ppt图片丢失_041 职场PPT实战: