C/C++筆記——經驗、技巧以及坑

❤ 2019.11.19

    今天學到了一個小知識:

    【永遠不要在.h文件中定義變量!】

    至於原因,簡單來說就是,.h文件是用來聲明變量的,最好不要用來定義變量,如果在.h中定義了變量,而這個.h文件又被其他的多個.c文件include,那麼這個變量就會被定義多次,會佔用不同的內存空間,併產生重複定義錯誤。變量定義應該在.c文件中,.h文件中需要extern一下。

    之前在編程序的時候我都把變量定義在.h中了,然後哪裏報錯extern哪裏,沒考慮從根源上解決這個問題。

    切記!

    參考文章鏈接:不要在.h文件中定義變量

 

❤ 2019.12.17

    今天瞭解到了什麼是【回調函數】。

    首先感謝下面文章的作者做了詳細的講解。

回調函數的簡單理解及應用

C語言回調函數詳解

    從我的理解來說,第一篇文章的計算器的例子很形象,將運算函數以函數指針的形式傳遞給calc()函數,calc()函數根據不同的用戶輸入再判斷具體調用哪個回調函數。但是這個例子(我感覺)沒有說明白使用回調函數的必要性,因爲用普通調用函數也可以解決,而第二篇文章很着重的說明了回調函數的必要性,很多時候我們調用的是庫函數,而庫函數我們並不能隨意修改,但是庫函數可能只是一個框架,具體的運算過程需要我們自己定義,這時候我們就需要把我們寫好的算法以函數指針的形式傳遞給庫函數,然後庫函數再根據需求選擇執行哪個算法。

    over!

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章