1. 程式人生 > >【入門指導】C語言難嗎?最難啃的三塊硬骨頭

【入門指導】C語言難嗎?最難啃的三塊硬骨頭

先來看一個網友的對話:
在這裡插入圖片描述
C語言說難也不難,開始接觸就是學習基礎,資料型別,函式格式,指標等等。越學越深入,越學視野越寬闊,只要認真看書,聽講,下來多練習,不難。

在這裡插入圖片描述
記憶體佈局

指標公認最難理解的概念,也是讓很多初學者選擇放棄的直接原因

指標之所以難理解,因為指標本身就是一個變數,是一個非常特殊的變數,專門存放地址的變數,這個地址需要給申請空間才能裝東西,而且因為是個變數可以中間賦值,這麼一倒騰很多人就開始犯暈了,繞不開彎了。C語言之所以被很多高手所喜歡,就是指標的魅力,中間可以靈活的切換,執行效率超高,這點也是讓小白暈菜的地方。

指標是學習繞不過去的知識點,而且學完C語言,下一步緊接著切換到資料結構和演算法,指標是切換的重點,指標搞不定下一步進行起來就很難,會讓很多人放棄繼續學習的勇氣。

指標直接對接記憶體結構,常見的C語言裡面的指標亂指,陣列越界根本原因就是記憶體問題。在指標這個點有無窮無盡的發揮空間。很多程式設計的技巧都在此集結。

指標還涉及如何申請釋放記憶體,如果釋放不及時就會出現記憶體洩露的情況,指標是高效好用,但不徹底搞明白對於有些人來說簡直就是噩夢。

在這裡插入圖片描述

小編給大家推薦一個學習氛圍超好的地方,C/C++交流企鵝裙:948954484!適合在校大學生,小白,想轉行,想通過這個找工作的加入。裙裡有大量學習資料,有大神解答交流問題,每晚都有免費的直播課程

在這裡插入圖片描述

函式概念,面向過程物件模組的基本單位,以及對應各種組合,函式指標,指標函式

一個函式就是一個業務邏輯塊,是面向過程,單元模組的最小單元,而且在函式的執行過程中,形參,實參如何交換資料,如何將資料傳遞出去,如何設計一個合理的函式,不單單是解決一個功能,還要看是不是能夠複用,避免重複造輪子。

函式指標和指標函式,表面是兩個字面意思的互換實際上含義截然不同,指標函式比較好理解,就是返回指標的一個函式,函式指標這個主要用在回撥函式,很多人覺得函式都沒還搞明白,回撥函式更暈菜了。其實可以通俗的理解指向函式的指標,本身是一個指標變數,只不過在初始化的時候指向了函式,這又回到了指標層面。沒搞明白指標再次深入的向前走特別難。

結構體,遞迴

很多在大學學習C語言的,很多課程都沒學完,結構體都沒學到,因為從章節的安排來看好像,結構體學習放在教材的後半部分了,弄得很多學生覺得結構體不重要,如果只是應付學校的考試,或者就是為了混個畢業證,的確學的意義不大。

如果想從事程式設計這個行業,對這個概念還不瞭解,基本上無法構造資料模型,沒有一個業務體是完全使用原生資料型別來完成的,很多高手在設計資料模型的時候,一般先把標頭檔案中的結構體資料整理出來。然後設計好功能函式的引數,以及名字,然後才真正開始寫c原始碼。

如果從節省空間考慮結構體裡面的資料放的順序不一樣在記憶體中佔用的空間也不一樣,結構體與結構體之間賦值,結構體存在指標那麼賦值要特別注意,需要進行深度的賦值。

在這裡插入圖片描述

遞迴一般用於從頭到位統計或者羅列一些資料,在使用的時候很多初學者都覺得彆扭,怎麼還能自己呼叫自己?而且在使用的時候,一定設定好跳出的條件,不然無休止的進行下去,真就成無線死迴圈了。

這三大塊硬骨頭是學習C語言的絆腳石,下功夫拿掉基本上C語言的大動脈就打通了,那麼再去學習別的內容就相對比較簡單了。程式設計學習過程中越是痛苦的時候,學到的東西就會越多,克服過去就會自己的技能,放棄了前面的付出的時間都將清零。越是難學的語言在入門之後,在入門之後越覺得過癮,而且還容易上癮。你上癮了沒?