《C專家程式設計》筆記6

2021-08-26 15:39:19 字數 746 閱讀 1530

第六章 運動的詩章:執行時資料結構

a.out 它是assembler output 的縮寫形式;

a.out 這個名字是unix 「沒什麼理由,但我們就是這麼做的」思維的一例;

超級塊(superblock unix 檔案系統中的基礎資料結構)就是用下面這個神奇數字唯一標識的

#define ps_magic 0x011954 這個數字式berkeley fast 檔案系統的實現者的生日;

在unix中,段標識乙個二進位制檔案相關的內容塊;

區域性變數並不進入a.out,它們在執行時建立;

int main()

以上小型測試程式,可以發現你的系統堆疊的大致位置;

c語言中所有函式在詞法層次中都是位於最頂層的;

指標失去了有效性(引用不存在的東西),被稱為「懸垂指標(dangling pointer)」;

唯一能用的auto的地方就是使你的宣告更加清楚整齊;

goto 語句不能跳出c語言當前的函式(這也是longjmp 取名的由來,它可以跳得很遠,甚至可以調到其他檔案的函式中);

#include#includejmp_buf buf; banana() int main() return 0; }

setjmp 和longjmp 在c++ 中變異為更為普通的異常處理機制「catch」和「throw」;

在unix中,當程序需要更多空間時,堆疊會自動生長。程式設計師可以想象堆疊是無限大的。這是unix勝過其他作業系統如ms-dos的許多優勢之一;

《C專家程式設計》筆記2

無論在什麼時候,如果遇見了這樣一條語句malloc strlen str 幾乎可以斷定它是錯誤的,malloc strlen str 1 才對 總結 進步是計算機軟體工程和程式語言設計藝術逐步發展的重要動因 includeint main int argc,char argv 以上 編譯都不會通過,...

《C專家程式設計》筆記3

const int grape int const grape int const grape 最後一種情況指標是唯讀的,上面兩種指標所指的物件是唯讀的 結構體可以用於段位,之前沒聽說過吧 includeint main struct bit field temp temp.a 1 printf d...

《C專家程式設計》筆記3

第三章 分析c語言的宣告 const int grape int const grape int const grape 最後一種情況指標是唯讀的,上面兩種指標所指的物件是唯讀的 結構體可以用於段位,之前沒聽說過吧 cpp include int main struct bit field temp...