C語(yǔ)言是一門(mén)通用計(jì)算機(jī)編程語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā)。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼,以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫(xiě)出的程序可在許多平臺(tái)正常編譯運(yùn)行。
那么,對(duì)于C語(yǔ)言的編程,我們要掌握哪些技巧,才能夠?qū)懗隹梢栽诟鱾€(gè)平臺(tái)運(yùn)行的程序呢?
一、基礎(chǔ)語(yǔ)法編程技巧
1、變量
(1) 變量名需見(jiàn)名知意,用英文單詞命名,盡可能避免出現(xiàn) a b 等單一字母的變量;
(2) 變量在定義同時(shí)進(jìn)行初始化,防止亂碼數(shù)據(jù);
(3) 變量序號(hào)盡可能用英語(yǔ)單詞,例如:count_one、size_two 等。
2、數(shù)組
(1)?數(shù)組名同變量名,見(jiàn)名知意;
(2)?數(shù)組在定義后進(jìn)行“清空”處理,防止數(shù)組中出現(xiàn)未知數(shù)據(jù);
(3)?反復(fù)使用的數(shù)組記得在使用前清除上一次的數(shù)據(jù),memset,防止數(shù)據(jù)殘留。
3、判斷語(yǔ)句
(1)?判斷語(yǔ)句注意關(guān)系運(yùn)算符號(hào),特別是 “==” 和 “=”;
(2)?判斷語(yǔ)句的大括號(hào)盡量對(duì)齊書(shū)寫(xiě),關(guān)鍵字單獨(dú)一行,便于后期代碼改錯(cuò);
(3)?即使判斷執(zhí)行語(yǔ)句只有一條,也要記得寫(xiě)大括號(hào)。
4、循環(huán)語(yǔ)句
(1)?大括號(hào)格式同判斷語(yǔ)句;
(2)?在寫(xiě)while 和 do……while 語(yǔ)句時(shí),別忘了“i++”,否則會(huì)造成死循環(huán);
(3)?在編碼階段,做好每次循環(huán)的 debug 調(diào)試語(yǔ)句,便于查看每次循環(huán)情況;
(4)?在寫(xiě)循環(huán)語(yǔ)句前,可以將分析過(guò)程用注釋的方式寫(xiě)在循環(huán)體之上,便于完善思路。
5、函數(shù)
(1)?函數(shù)名同變量名,見(jiàn)名知意;
(2)?函數(shù)結(jié)構(gòu)時(shí)刻注意 return 語(yǔ)句;
(3)?多文件編程時(shí),如果函數(shù)只用于本文,將用static進(jìn)行修飾,防止多文件中函數(shù)重名;
(4)?函數(shù)功能遵循封裝思想,做好“單一職責(zé)”控制,便于代碼復(fù)用。
6、指針
(1)?指針變量在定義是初始為 NULL 防止野指針;
(2)?指針變量名往往是普通變量名后加 _p 進(jìn)行標(biāo)識(shí),例:count_p,便于觀察“指針追
蹤”情況;
(3)?使用free 清空堆區(qū)空間后,記得將指針初始化為 NULL 防止野指針。
二、程序版式編程技巧
1、空行
通過(guò)空行來(lái)進(jìn)行代碼段的劃分,便于代碼分塊管理。
2、空格
運(yùn)算符前后,連續(xù)參數(shù)等,可以用空格隔開(kāi),便于糾正錯(cuò)誤。
3、注釋
函數(shù)前,邏輯代碼前,可以寫(xiě)適當(dāng)?shù)淖⑨寔?lái)進(jìn)行標(biāo)明。
4、長(zhǎng)句拆分
過(guò)長(zhǎng)的代碼應(yīng)該適當(dāng)進(jìn)行拆分,便于查看。
C語(yǔ)言作為一種面向過(guò)程、抽象化的通用程序設(shè)計(jì)語(yǔ)言,是嵌入式新手從入門(mén)到精通必須要掌握的技能。所謂巧干能捕雄獅,蠻干難捉蟋蟀。找對(duì)了方法,自然就離成功不遠(yuǎn)了。
C語(yǔ)言是嵌入式學(xué)習(xí)的基礎(chǔ),它的重要性是不言而喻的。同時(shí),在學(xué)習(xí)中掌握一定的技巧也是尤為重要的。所以,趕緊掃描下方二維碼添加華妹,了解學(xué)習(xí)嵌入式C語(yǔ)言編程技巧,還可免費(fèi)領(lǐng)取C語(yǔ)言資料哦,快來(lái)一起探尋快速、高效的學(xué)習(xí)之路吧!
評(píng)論
查看更多