C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言學習的難點:1、初學時不容易理解,感覺就像是文科一樣去記很多運算符。
2、指針,指針是學習C語言繞不開的知識點,指針作為一個特殊的變量,專門存放地址的變量,這個地址需要給申請空間才能裝東西,而且因為是個變量可以中間賦值,所以在這里我們很容易暈
3、函數(如:函數指針、指針函數):一個函數就是一個業務邏輯塊,是面向過程,單元模塊的最小單元,而且在函數的執行過程中,形參,實參如何交換數據,如何將數據傳遞出去,如何設計一個合理的函數,不單單是解決一個功能,還要看是不是能夠復用,避免重復造輪子。特別是函數里的指針函數和函數指針,這兩函數含義上是截然不同的,所以,這一環節又回到了指針層面,如果前期沒打好基礎很難深入往前走。
4、結構體

從事編程角度來說對這個概念不難理解,沒有一個業務體是完全使用原生數據類型來完成的,很多高手在設計數據模型的時候,一般先把頭文件中的結構體數據整理出來。然后設計好功能函數的參數,以及名字,然后才真正開始寫c源碼。
如果從節省空間考慮結構體里面的數據放的順序不一樣在內存中占用的空間也不一樣,結構體與結構體之間賦值,結構體存在指針那么賦值要特別注意,需要進行深度的賦值。
5、遞歸:遞歸一般用於從頭到位統計或者羅列一些數據,在使用的時候很多初學者都覺得別扭,怎么還能自己調用自己?而且在使用的時候,一定設置好跳出的條件,不然無休止的進行下去,真就成無線死循環了。
好了,基本我遇到的困難就是這些,以后可能還會有不定期的更新,歡迎大家在評論區批評指正。