一個C程序是由一個或者多個函數組成,並必須只有一個main()函數。我建議不要使用void main的形式,同建議用 int main 然後return 0;的形式,至於為什麼要這樣做,我也不知道。
一個文件內、一個函數內、一個控制語句內、一對花括號內,都可以稱為一個代碼塊。
聲明與定義
int num;這就是聲明,而且是定義性聲明。
聲明(declaration)指定了一個變量的標識符,用來描述變量的類型,是類型還是對象,或者函數等。
定義(defining)是對聲明的實現或者實例化。
聲明有兩種情況:需要建立存儲空間的 和 不需要建立存儲空間的 ,前者是 定義性聲明(defining declaration),後者是 引用性聲明(referncing declaration)
廣義的來看,聲明包含定義,但不是所有的聲明都是定義。一般情況下,把建立存儲空間的聲明稱之為“定義”,而把不需要建立存儲空間稱之為“聲明”
好像還不大明白?沒關系,只需知道定義和聲明不大一樣就行了
在C語言中,所有變量在使用前必須定義。
函數原型是聲明的一種形式
語法錯誤:是指把正確的C符號放在了錯誤的位置
編譯器的另一個毛病是發現錯誤的位置比真正的錯誤位置要滯後一行。
語義錯誤:就是意思上的錯誤。語法是正確的,但輸出的結果卻不是想要的,一般是在代碼中出現了語義錯誤
在程序的幾個關鍵點出加上額外的printf語句以監視所選變量的值可以幫助查找語義錯誤。
程序狀態:通過手工方式一步一步跟蹤程序,並記錄每個變量,這樣就就可以監視程序狀態。
檢查程序狀態還可以用調試器,有靜態調試和動態調試。