2.若標頭檔案被修改,則包含其的標頭檔案a,包含標頭檔案a的原始檔c都要重新編譯,其他不存在包含關係的頭/原始檔無需重新編譯;
3.以兩個括號打頭,外加乙個字元的(例如??(、??)等)是三字母詞,表示乙個字元;
4.\ddd(最多三位),該轉義字元表示的字元就是給定八進位制數所代表的字元,\0123代表』\012』和』\3』這兩個字元;
5.\xddd則是十六進製制數所代表的字元;
6.一段字元中若包含以/和*組成的注釋,注釋會被等效為乙個空格;
7.括號匹配問題需用到棧這種資料結構,演算法思路:
1)遇到左括號就push;
2)遇到右括號先看還有沒有左括號,若沒得,代表沒有可匹配的左括號了,返回false;否則top、pop,判斷棧頂元素與當前右括號是否匹配(這裡可以輔助乙個match變數,根據右括號來if或switch設定match,再比較match和棧頂元素是否相等)。
書中給出的警告:
1.字串常量中的字元被錯誤的解釋為三字母詞;
2.編寫得糟糕的注釋可能會意外地終止語句;
3.注釋的不適當結束。
第二章學習筆記
在c 中,陣列下標從0開始,而不是1.c 不支援陣列的抽象,也不支援對整個陣列的操作。在c 中,物件可以靜態分配 即編譯器在處理程式源 時分配,也可以動態分配 即程式執行時,用執行時刻庫函式來分配。靜態與動態記憶體分配的兩個主要區別是 1 靜態物件是有名字的變數,可以直接對你進行操作。而動態物件是沒...
第二章學習筆記
ansi c 有翻譯和執行兩種環境,且不必在一台機器上,例如交叉編譯器 cross compiler 作業系統也是如此 freestanding environment 翻譯 將源 轉換為可執行機器指令 執行 實際執行 翻譯經過以下階段 形成的目標檔案字尾可能在不同系統下不同,如 o obj cc ...
第二章 C 筆記
1.可以用函式sizeof來確定乙個型別占用記憶體的大小 如 cout 2.整數除法的結果仍為整數,小樹部分會被截去。如,5 2 2 5 2 2 而不是 2.5 模運算 只有當被除數 前面的那個數 是負數時候,餘數才會是負數。如 7 3 1 12 4 0,20 13 7 而不是 7 3.型別轉換並不...