static int j;
void fun1(void)
void fun2(void)
int main()
return 0;
}
sizeof是關鍵字而不是函式
int main()
printf("%d",strlen(a));
return 0;
}
bool變數與「零值」進行比較
bool btestflag = false;
if(btestflag ); if( !btestflag);
if語句是靠其後邊緊跟的括號裡面的表示式的值來進行分支跳轉;本組寫法可以在較大程度上規避了誤會也不會因為true和flase不同定義值出錯。—這種寫法是最好的。
float變數與零值進行比較
規則1-20使用浮點數應遵循已定義好的浮點數標準;
標準c無具體定義
ansi/ieee標準規定如下所述
(1)兩種基本浮點格式:單精度和雙精度
(2)兩種擴充套件浮點格式:單精度擴充套件和雙精度擴充套件
(3)浮點運算的準確度要求:加、減、乘、除、平方根、餘數、將浮點格式的數捨入為整數值、在不同浮點格式之間轉換、在浮點數和證書格式之間轉換以及比較;
(4)在十進位制字串和兩種基本浮點格式之一的二進位制浮點數之家進行轉換的準確度、單一性和一致性要求;
(5)物種型別的ieee浮點一場,以及用於向使用者指示發生這些型別一場的條件。
五種型別的浮點異常是:無效運算、被零除、上溢、下溢和不精確。
(6)四種射入方向
向最接近的克表示的值
當前有兩個最接近的課表示的值時,首選「偶數」值;
向負無窮大(向下)
向正無窮大(向上)以及向0(截斷);
if(null == p); if(null != p);
雖然樣子古怪;這樣寫可以避免少寫乙個=符號,此種寫法是可以被編譯器識別的。
else始終與同一括號內最近的未匹配的if語句結合。
另外符號{}建議遵循以下規則
建議1-21 程式中的分界符{}對齊風格如下表所示:
其中**的縮排一般為4個字元,但不要使用tab鍵盤,因為不同的編輯器tab鍵定義的空格數量不一樣,別的編輯器開啟tab鍵縮排的**可能會出現混亂
if(null != p)
所有if-else if結構應該由else子句結束
迴圈語句 使用注意
多重迴圈時,若有可能,將最長的迴圈放在最內層,最短迴圈放在最外層,減少迴圈層的次數
for語句的迴圈控制變數的取值採用「半開半閉區間」寫法。
若函式無返回值,應將其宣告為void型別。
若函式無引數,應將其引數宣告為void型別。
若函式的引數為任意型別指標,則應宣告其引數為void*。
不能對void指標進行演算法操作。
const int *p; //p可變,p指向的物件不可變
int const *p; //p可變,p指向的物件不可變
int * const p; //p不可變,p指向的物件可變
const int *const p; //指標p和p指向的物件都不可變
enum關鍵字 C語言深度剖析
列舉型別的定義方式如下 enum enum type name enum const 1,enum const 2,enum const n enum variable name 注意 enum type name是自定義的一種資料型別名,而enum variable name為enum type ...
C語言關鍵字剖析
c語言的關鍵字共有32個,根據關鍵字的作用,可分其為資料型別關鍵字 控制語句關鍵字 儲存型別關鍵字和其它關鍵字四類,下面分類列舉和解釋相關關鍵字 1 char 宣告字元型變數或函式 2 double 宣告雙精度變數或函式 3 enum 宣告列舉型別 4 float 宣告浮點型變數或函式 5 int ...
讀書筆記 c語言深度剖析之關鍵字
c語言一共有32個關鍵字 auto 宣告自動變數,預設時一般預設為auto int 宣告整型變數 double 宣告雙精度變數 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 short 宣告短整型變數 signed 宣告有符號型別變數 unsigned 宣告無符號型...