林銳高質量程式設計中的幾道面試題

2021-06-29 12:53:08 字數 982 閱讀 4691



目錄(?)

[+]

記憶體的思考

在c 程式中呼叫被c 編譯器編譯後的函式為什麼要加extern c

編寫strcpy 函式

編寫類string 的建構函式析構函式和賦值函式

片段1修改方法有三種:

方法一:可以在getmemory函式中加上乙個返回開闢空間的指標,通過它再對test函式中的str指標重新賦值,可以解決這個問題。

方法二:由於test中的str指標指向空,無法將指向空間的有效位址傳遞給getmemory的形參,因此只需在test函式中str指標指向乙個非空的空間(不管空間大小多大),同樣可以達到解決的效果。

方法三:就是下面的片段3

c++語言支援函式過載,c 語言不支援函式過載。函式被c++編譯後在庫中的名字與c 語言的不同。假設某個函式的原型為: void foo(int x, int y);該函式被c 編譯器編譯後在庫中的名字為_foo,而c++編譯器則會產生像_foo_int_int 之類的名字。c++提供了c 連線交換指定符號extern「c」來解決名字匹配問題。

[cpp]view plain

copy

print?

char* strcpy(char* strdesc, const

char* strsrc)    

char* strcpy(char* strdesc, const char* strsrc)

strcpy的返回值的作用:為了實現鏈式表示式。

《高質量程式設計指南 C C語言》 林銳

一 c 檔案結構 c c 程式的標頭檔案以 h 為字尾,c 程式的定義檔案以 c 為字尾,c 程式 的定義檔案通常以 cpp 為字尾 1 標頭檔案結構 h 標頭檔案由三部分內容組成 1 標頭檔案開頭處的版權和版本宣告。2 預處理塊。3 函式和類結構宣告等。為了防止標頭檔案被重複引用,應當用ifnde...

林銳C C 高質量程式設計指南之二

只是記了一部分我認為比較難理解的,或常用的,部分掌握的就沒有寫。規則 7 2 1 用 malloc 或 new 申請記憶體之後,應該立即檢查指標值是否為 null。防止使用指標值為 null 的記憶體。規則 7 2 2 不要忘記為陣列和動態記憶體賦初值。防止將未被初始化的記憶體作為右 值使用。規則 ...

c c 高質量程式設計(林銳)讀書筆記二

標頭檔案由三部分內容組成 1 標頭檔案開頭處的版權和版本宣告 參見示例1 1 2 預處理塊。3 函式和類結構宣告等。假設頭檔名稱為graphics.h,標頭檔案的結構參見示例1 2。規則1 2 1 為了防止標頭檔案被重複引用,應當用ifndef define endif結構產生預處理塊。規則1 2 ...