面試筆記3

2021-06-21 04:03:19 字數 786 閱讀 5320

有關函式宣告的空間問題

乙個函式在宣告後如果不寫函式體是不會分配空間的,所以實現這個函式也就相當於初始化函式這個變數,同時也就引申出了變數如果只宣告的話是不會分配的空間的?可以這麼認為,因為靜態變數跟全域性變數都是自動初始化為0的。

另外在c語言中 void fun(); 等同於 void fun(...);

在c++語言中 void fun(); 等同於 void fun(void);

55 89 e5 83 ec 10這是函式開頭記憶體裡存的東西,暫時不知道是什麼,尾巴是xx c9 c3,也暫時不知道是什麼東東。

指標跟引用的區別

引用不能非空,從而用的時候不需檢查,從而更有效率。

int (*a)[10] 其實跟int a[10]乙個意思。

預處理的#define巨集定義

#define其實就是字串的代替,正因為這個原因代替的是注意引數都帶上括號,且不用分號,比如#define max(a,b) ((a)>(b)?:(a),(b))

內聯函式(inline)則是指函式簡單多次呼叫的時候直接在那個地方插入,需要檢查型別之類的

malloc/free與new/delete的區別

前者是庫函式,後者是操作符。後者對物件的構造及析構自動完成。另外free跟delete都是說 記憶體可以用前面說的那塊地方,而指標還是指到那裡,下次你再更改指標的時候會發生意想不到的事,所以需要將指標指向0,這樣下次改的時候,也是預想之中的錯誤。

控制代碼控制代碼就是乙個32位的uint,用來標記該應用程式存放記憶體位址的位址,這個值是確定的,而它裡面的內容也就是物件實際執行的位址是隨機的。

面試筆記3

1 快排是遞迴排序,為啥排序效率也挺高?快排是通過一趟排序將要排序的資料分割成獨立的兩部分,其中一部分的所有資料都比另外一部分的所有資料都要小,然後再按此方法對這兩部分資料分別進行快速排序,整個排序過程可以遞迴進行,以此達到整個資料變成有序序列。最壞情況下的複雜度和冒泡一樣,最好的情況複雜度為o n...

面試筆記1

今天開始準備找實習了,開始準備實習的東西了。接下來開始寫今天看到的小知識。1.宣告,定義,初始化 宣告是指extern int i 定義是指int i 初始化int i 0 區別在於,宣告不分配儲存空間,在這裡編譯的時候是不管的,只有當需要用到i的時候才去檢查。定義的話,就分配一塊空間給它。初始化的...

實習面試筆記

fib資料庫事務隔離級別有4個 由低到高依次為 read uncommitted,讀到了未提交的事物,只是 add 還沒有 commit read committed,讀到了上一次的commit,也就是說還沒有更新 最新的commit repeatable read,保證讀取最新的 commit,為...