C語言筆記(C )

2021-06-17 21:44:22 字數 660 閱讀 8834

結構體,類在定義時沒分配空間,用其定義變數時才會分配空間,所以c語言在的結構體不用有靜態型別,因為靜態型別在資料段,而如果在函式用用結構體定義變數,這變數在棧中,這樣就衝突了,但在c++中有相應的機制處理些問題。

c++的cin.get()不讀取緩衝區中的回車字元, 而cin.getline()將緩衝區中的回來讀走

c++,c99,可以在任意位置定義變數,而c89必要在**塊「{ 」之後定義變數

malloc -> new  free -> delete

int *p = (int *)malloc(sizeof(int) * 4) ===> int *p = new int[4]; delete p;

引用&p =  a;是將引用的變數與賦給它的值繃定,系統不會給引用分配記憶體位址,,因此引用定義時一定要賦值,而且賦值後不能再賦值,引用不能用於指標,陣列。

c++呼叫c語言,則需要在c++檔案裡加上" extern "c" "

a a;  sizeof(a) = 8,(函式宣告不占用空間)

類中有虛函式,則會增加4個位元組,但是乙個或多個虛函式的類的記憶體也只增加4位元組不會根據虛函式的個數增加而增加,多加的4個位元組是加在位址的最前端(加的是乙個指標的空間).

虛類可以使沒有繼承關係的資料形成繼承關係,從而可以實現多型

建構函式,析構函式:面試可能會考

C語言 C語言複習筆記

為什麼要學c語言?1972年,美國貝爾實驗室的 d.m.ritchie 在b語言的基礎上最終設計出了一種新的語言,他取了bcpl的第二個字母作為這種語言的名字,這就是c語言。總所周知,任何東西的盛行都只是乙個階段,語言也是如此。但是,c語言是個例外,乙個矗立了半個世紀的語言,其中好壞,我想應該不難了...

C語言筆記

1.換行問題導致與預期效果會不一樣 2.與 的錯誤,成功用 0來表示 3.編譯器分解符號按照從左到右分解 利用貪心演算法4.這樣也可以輸出。5.ga 與 ga 區別 ga 編譯器的處理會不一樣,vc 是後乙個覆蓋前乙個,從左向右 6.int p,a p的值為int,a的值為int,所以p為int指標...

C語言筆記

指標相關 int p p為返回乙個指標的函式,該指標指向整型資料 int p p為指向函式的指標,該函式返回乙個整型值 void p p為指標變數,基型別為void 空型別 不指向具體的物件 自動變數,靜態變數,暫存器變數 速度快,自動分配 預設為auto變數,自動儲存類別,動態分配記憶體 靜態區域...