【C語言重點】C語言中“最難啃的”三大硬骨頭,你知道嗎?

C語言中的三大硬骨頭
1、指針
指針之所以難理解因為指針本身就是一個變量,是一個非常特殊的變量,專門存放地址的變量。
這個地址需要給申請空間才能裝東西。而且因為是個變量可以中間賦值。
很多高手喜歡C語言就是因為指針的魅力,中間可以靈活的切換。執(zhí)行效率超高。但是這也是小白暈菜的地方。
指針是學習繞不過去的知識點
學完C語言,緊著者切換到數(shù)據(jù)結構和算法,指針是切換的重點。
之真搞不定下一步就很難進行。指針直接對接內(nèi)存結構。
常見的C語言里指針亂指是指數(shù)組越界。根本原因就是內(nèi)存問題。
在指針這個點由無窮無盡的發(fā)揮空間。很多編程的技巧都在此集結。
指針還涉及如何申請釋放內(nèi)存。如果釋放不及時就會出現(xiàn)內(nèi)存泄漏的情況。
指針是高效好用,但必須徹底搞明白。
函數(shù)概念,面向過程對象模塊的基本單位以及對應各種組合,函數(shù)指針,指針函數(shù)。一個函數(shù)就是一個業(yè)務邏輯塊,是面向過程。單元模塊的最小單元。
在函數(shù)的執(zhí)行過程中形參,實參和如何交換數(shù)據(jù),如何將數(shù)據(jù)傳遞出去。如何設計一個合理的函數(shù)。不單單是解決一個功能。還要看是不是能夠復用,避免重復造輪子。
函數(shù)指針和指針函數(shù),編碼是兩個字面意思的互換,實際上含義截然不同。
指針函數(shù)就是返回指針的一個函數(shù)
函數(shù)指針這個主要用在回調(diào)函數(shù),通俗的理解指向函數(shù)的指針本身就是一個指針變量,只不過在初始化的時候指向了函數(shù),這又回到了指針層面。
2、結構體
想應付考試考試,或者混個畢業(yè)證意義不大,但要想從事編程這個行業(yè)就很重要。如果不懂,基本上無法構造數(shù)據(jù)模型。沒有一個業(yè)務體是完全使用原生數(shù)據(jù)類型來完成的。
高手一般在設置數(shù)據(jù)模型時,一般先把頭文件中的結構體數(shù)據(jù)整理出來,然后設計好功能函數(shù)的參數(shù)以及名字。然后才真正開始寫C源碼。
從節(jié)省空間考慮結構體里面的數(shù)據(jù)放的順序并不一樣,在內(nèi)存中占用的空間也不一樣。結構體與結構體之間賦值。結構體存在指針那么賦值要特別注意,需要進行深度的賦值。
3、遞歸
遞歸一般用于從頭到尾統(tǒng)計或者羅列一些數(shù)據(jù),可以自己調(diào)用自己,而且在使用的時候一定設置好跳出的條件。不然就無休止的進行下去,那樣就會成無限死循環(huán)。


















