第1章 c:穿越時空的迷霧
( 原型:把形參的型別作為函式宣告的一部分。這樣不僅函式名和返回型別已知,所有形參型別也已知。)
不可移植的**:由編譯器設計者決定採取何種行動(即不同編譯器所採取的行為可能不相同,但都是正確的)
——未確定的
(附:乙個程式有可能在乙個特定的編譯器裡是遵循標準的,但在另乙個編譯器裡卻是不遵循標準的。
)壞**
:在某些不正常的情況下,並未規定應該怎樣做(即你可以採取任何行動:什麼都不做、發出一條警告資訊,中止程式)——
未定義的 (附:
約束條件:乙個必須遵守的限制或要求。如果不遵守,程式就會變成未定義的。)
第2章 這不是bug,而是語言特性
分析程式語言缺陷的一種方法是把所有的缺陷歸類為3類:不該做的做了,該做的沒做,該做但做的不合適。
誤做之過,語言中有誤導性質或是不適當的特性
少做之過,語言應該提供但未能提供的特性
第3章 分析c語言的宣告
#define
peach int
unsigned peach i;
/*沒問題
*/ typedef
intbanana;
unsigned banana i;
/*錯誤,非法
*/
typedef struct foo 的含義,不同的命名空間內使用同乙個名字,bad habit
第4章 令人震驚的事實,陣列和指標並不相同
使宣告和定義匹配,指標的外部宣告與陣列不匹配,**當然沒辦法執行
指標和陣列的區別
指標陣列
儲存資料的位址
儲存資料
間接訪問資料,首先取指標內容,把它作為位址,然後從這個位址取位址。如果指標有乙個下標[i],就把指標的內容加上i作為位址,從中提取資料
直接訪問資料,a[i]只是簡單的以a+i為位址取得資料
通常用於動態資料結構
通常用於儲存固定數目且資料型別相同的元素
相關的函式為malloc().free()
隱式分配和刪除
通常指向匿名資料
自身即為資料名
讀書記錄 《我們》
美麗新世界 阿道司 赫胥黎 著 蠅王 威廉 戈爾丁 著 阿特拉斯聳聳肩 安 德蘭 著 著名的三大反烏托邦 之一。書名很有意思,在書中 我們 是書中喪失社會屬性 只依靠編號表示的群體的統稱,也讓我想起書中的d503和i330 他們的愛情是這本書的主線 雖然整個進展是我們借被抽掉 愛情 屬性的主角的目光...
2023年讀書記錄
1 富爸爸與窮爸爸 這是一本理財入門書籍,我在知乎上了解到的,閱讀的初衷是我發現,我理財的知識缺少的令人髮指,在現在這個社會,如果是還是一味的只知道埋頭苦幹 為老闆掙錢 我想這 一輩子也就這麼著了。這裡面我學到了什麼是為錢工作 比如現在工作,還貸。什麼是錢為我們工作 投資理財 什麼是資產,什麼是負債...
head first設計模式讀書記錄
設計原則 1 針對介面程式設計而非針對實現 2 多用組合,少用繼承 3 復用的潛力 4 封裝變化 5 開閉原則 對擴充套件開放,對修改關閉 6 依賴倒置原則 7 越常用,越不應修改,把可能的修改扔給必須要改的部分,最好扔給擴充套件。封裝變化 8 最少知識原則 減少類與類的重合,只與密友交流 9 越懶...