\ooo(ooo代表1到3個八進位制數字)用來直接表示對應數字的asc碼
\xhh(hh是1到2個十六進製制數字)用來直接表示對應數字的asc碼
常量表示式就是只含有常量,不含有變數。這種表示式在編譯時求值,而非執行時求值。
注意,全域性變數只會進行一次初始化操作,而且是程式開始執行之前進行,並且初始化表示式必須為常量表示式。
而區域性變數如果有顯式初始化,則每次進入函式或者程式塊都會初始化一次,且初始化表示式可以為任何表示式。
用來限定變數時,變數值不能被修改。
用來限定陣列時,陣列所有元素的值都不能修改。
當陣列作為某個函式的引數時,如int strlen(const char[ ]),用const來限定函式的陣列形參,表示函式不能修改傳遞過來的陣列元素的值。
列舉型別可以結合typedef來理解,倘若一種型別的變數只有幾種可能的取值,就可以列舉型別來定義它
1)enum weekday ;
以上定義了一種新的列舉型別weekday,這種型別只有七種取值。可以用這種新型別再來定義變數,如weekday workday;weekday weekend;等。
2)enum workday,weekend;這樣是直接定義了兩個這種型別的變數,但並未給這種型別命名。
3)大括號中的7個不是變數,是列舉元素或列舉常量,因編譯系統把他們當成常量處理。因此不能再對他們賦值。
4)若在定義時不顯式為列舉元素賦值,則從0開始順序加1,若有部分顯式賦值,則未賦值部分從最後乙個顯示賦值元素後自動順序加1。
5)workday=(enum weekday)2;使用強制型別轉換符來對列舉元素再次賦值,相當於將順序號為2的元素賦值給workday,相當於workday=tue。
宣告:說明變數或者函式的性質,但並不分配儲存單元。也就是僅僅告訴編譯系統有這麼乙個性質的東西。
定義:建立變數或分配儲存單元。
宣告的位置沒有限制:對函式宣告來說,只要是呼叫此函式之前的任何地方。對於全域性變數來說,在**宣告,該全域性變數的作用域就被擴充套件到了**。
函式的宣告是函式原型,函式的定義是函式本身。可以有多個宣告,但只有乙個定義。
||與&&特殊點在於,它們從左往右順序進行求值,一旦知道最終結果為真或假,立刻停止運算。
第二章 型別運算子表示式
2.1變數名 數字字母下劃線,不能以數字開頭 對於內部來說,至少31個字元有效 選擇變數名應該盡可能的在字面上表達變數的用塗 2.2資料型別及長度 int 反應所用機器中整數的最自然的長度 include include int main void 2.3常量 乙個字元常量是整數。字元常量一般用來與...
K R 第二章 型別,運算子 與表示式
變數名 由字母和數字組成,下劃線被看作字母,一般下劃線用於庫例程的開頭,所以在自己的程式裡面不要用下劃線開頭。區域性變數使用較短的名字,外部變數使用較長的名字 char intfloat double 此外還可以加一些限定符 short long short 至少16位 long至少32位 shor...
第二章常量與運算子
顯示定義 常量的宣告以關鍵字const開頭,後接變數型別進行賦值,行尾沒有其他標點符號。const 常量名 常量型別 value注意 乙個常量被宣告之後可以不使用,但是變數一旦宣告則必須使用。隱式定義const 常量名 value如果程式需要使用大量值相同的常量,我們可以直接定義常量組。在定義常量組...