如何區分 declaration 和 definition

C 和 C++ 都有宣告 declaraction 和定義 definition 的區別 ,這篇文章就想要把這兩個的差別探討清楚。

declaration,讓編譯器知道變數的型別和名稱,好讓編譯器可以做語法檢查。

definition ,一旦寫出定義式,該變數將被配置好需要的記憶體空間,同時可以為其設定初值。而 definition 也是一種 declaration 。

C 和 C++ 都有宣告 declaraction 和定義 definition 的區別 ,本篇文章將探討這兩個的差異。

declaration 宣告讓編譯器知道變數的型別和名稱,以便進行語法檢查;
而 definition 定義則表示該變數已被配置好所需的記憶體空間並可以設定初值。需特別注意, definition 也是一種 declaration 。

閱讀全文〈如何區分 declaration 和 definition〉

進不去的 if-else 條件運算式 – C 語言鬼故事

在工作上曾經遇到關於 if-else 的 bug ,明明 if 後的 expression 為 true ,但卻無法執行對應的程式碼。

進不去的程式碼

用以下程式為例, foo() 會根據 a 和 b 的值而有不同的回傳值。

閱讀全文〈進不去的 if-else 條件運算式 – C 語言鬼故事〉