1.c程式的原始檔拓展名為.c
2.#include 是c語言的預處理指令之一,所謂預處理,就是在編譯之前做的處理,預處理指令一般以 # 開頭
3.乙個c程式中一定會有乙個main函式,也只能有乙個main函式。main函式是整個c程式的入口。
1.在編譯前先執行#include指令,拷貝stdio.h的內容到源程式中
2.編譯源程式,生成目標檔案.obj
3.鏈結c語言函式庫,生成可執行檔案exec
4.執行可執行檔案,在螢幕上輸出"hello, world!"
1.在大型的c程式中,為了分模組進行開發,一般會將函式的宣告和定義(即實現)分別放在2個檔案中,函式宣告放在.h標頭檔案中,函式定義放在.c原始檔中
* sizeof可以用來計算乙個變數或者乙個常量、一種資料型別所佔的記憶體位元組數。
* 定義的形式為:型別 陣列名[元素個數]
int a[5];* 只能放在陣列名的後面,下面的都是錯誤寫法:
int[5] a; //錯誤* 裡面的個數必須是乙個固定值,可以是常量(比如6、8)、常量表示式(比如3+4、5*7)。絕對不能使用變數或者變數表示式來表示元素個數,大多數情況下不要省略元素個數(當陣列作為函式的形參和陣列初始化時除外)int b; //錯誤
下面的都是正確寫法:
int a[5]; //整型常量下面的都是錯誤寫法:int b['a']; //字元常量,其實就是65
int c[3*4]; //整型常量表示式
int a; //沒有指定元素個數,錯誤* 按行進行初始化int i = 9;
int a[i]; //用變數做元素個數,錯誤
int a[2][3] = , };* 按儲存順序進行初始化(先存放第1行,再存放第2行)
int a[2][3] = ;* 對部分元素進行初始化
int a[2][3] = , };* 如果只初始化了部分元素,可以省略行數,但是不可以省略列數int b[3][3] = , , };
int a[3] = ;有些人可能想不明白,為什麼可以省略行數,但不可以省略列數。也有人可能會問,可不可以只指定行數,但是省略列數?int a[3] = , , {}};
其實這個問題很簡單,如果我們這樣寫:
int a[2] = ; //大家都知道,二維陣列會先存放第1行的元素,由於不確定列數,也就是不確定第1行要存放多少個元素,所以這裡會產生很多種情況,可能1、2是屬於第1行的,也可能1、2、3、4是第一行的,甚至1、2、3、4、5、6全部都是屬於第1行的錯誤寫法
C語言易錯點
c語言易錯點 1.每個c語言程式中main函式是有且只有乙個的。2.演算法可以沒有輸入,但必須要有輸出。3.在函式中不可以再定義函式。4.break可用於迴圈結構和switch語句。5.break和continue的區別在於前者是跳出迴圈,後者是結束本次迴圈。6.逗號的運算子的級別最低。7.c語言對...
C語言易錯點總結
一下分為幾個部分分別加以說明。一 關鍵字 1.什麼是定義?什麼是宣告?兩者有何區別?答 定義是建立乙個物件,並未該物件分配一塊記憶體和取乙個名字,這個名字就是變數名或者物件名 宣告是告訴編譯器這個變數或者物件的記憶體已經存在,這裡只是引用。兩者最重要的區別在於,定義建立了物件並為物件分配了記憶體,而...
C語言const易錯點
const int a int const a 這兩個寫法是等同的,表示a是乙個int常量。const int a 表示a是乙個指標,可以任意指向int常量或者int變數,它總是把它所指向的目標當作乙個int常量。也可以寫成int const a 含義相同。int const a 表示a是乙個指標常...