C 的那些事

2021-08-04 23:42:11 字數 714 閱讀 1541

面試總結一:

1.sizeof的題

沒找到原題,找到乙個類似的如下:char *str = new char[100];sizeof(str)

答:在c/c++裡陣列作為引數時傳遞的實際上是指向陣列第乙個元素的指標,因此sizeof(str)返回的是指標的大小,即4。 推薦於2016-11-04 03:14:03最佳答案 在c/c++裡陣列作為引數時傳遞的實際上是指向陣列第乙個元素的指標,因此sizeof(str)返回的是指標的大小,即4。 注意以下三種形式的引數是完全等價的: void func(char str[100]); void func(char str); void func(char *str); 因為傳遞的本質上是指標,所以維

2.判斷哪個是指向整型陣列的指標

例如:int (*ptr)[3] 這是指向整型陣列的指標,

區別一下: 1、int(*p)[3];------ptr為指向含3個元素的一維整形陣列的指標變數(是指標) 

2、int *p[3];-------定義指標陣列p,該陣列由3個指向整型資料的指標元素組成(是陣列) 

3、int(*)[3];--------實際上可以看作是一種資料型別。

也就是第乙個(int(*p)[3])中定義的p的資料型別 其實你要看他到底是什麼,就是要看他最先和誰結合。 比如1中p先與*結合,那就說明p本質是乙個指標;而2中p先與後面的[3

3.巨集定義  加括號的和不加括號的,可以看面試寶典上的總結

C 編譯那些事

最近想從pcl庫中繼承類進行改寫,然後遇到了很多問題,這裡記錄一下,自己是菜鳥,編譯什麼的都不太懂。我們一般都是.cpp和.h的形式,pcl是在.h中定義,然後在.hpp中實現,cpp的作用我現在也沒搞明白,還有涉及預編譯什麼的,蒙 從庫的.h和.hpp分別複製了檔案出來,命名成自己的,繼承類也改了...

c 那些事 筆記

c 那些事 修飾變數 常量 相比 define,可以節省空間,避免 define定義的常量在記憶體中有若干個拷貝 防止被修改 型別檢查 修飾指標 不同位置作用不同,在變數前代表指標不可改變,其他位置代表指標指向的內容不可變 修飾引數 不可修改引數 修飾函式 函式體不可修改類物件 修飾函式返回值 返回...

C 異常處理的那些事

abort 函式是c 的乙個錯誤處理函式,實現方式是向標準錯誤流 cerr 傳送 abnormal program termination 不同作業系統內容可能有差別 使用try.catch.模式時如果throw的異常沒被catch到,程式最終會呼叫abort 函式。exception類 虛基類,包...