C C 基礎知識

2021-07-24 09:03:09 字數 783 閱讀 6520

乙個指標可以被多次賦值,但是引用只可以在建立的時候就必須初始化,初始化完畢後就不可改變;

乙個指標有它自己的記憶體位址和棧上的大小(x86上面為4byte),但是引用與原有變數共享相同的記憶體位址,但是在棧上仍然占用一些記憶體空間。

指標可以指向null,但是引用必須引用乙個有效的物件;

乙個指標需要使用*來訪問它指向的記憶體位址,但是引用可以直接使用它引用的物件。指向類或者結構體的指標使用"->"來訪問它的成員函式,而引用使用"."來訪問

sizeof是運算子,strlen是函式;

陣列做sizeof的引數不退化,當陣列傳遞給strlen就退化為指標了;

sizeof的值在編譯時即計算好了,而strlen要在執行時才能得到結果;

sizeof可以用任何型別做引數,strlen只能用char*做引數,且必須是以"\0"結尾;

new、delete是操作符,可以過載,只能在c++中使用;

malloc、free是函式,可以覆蓋,c、c++中可以使用;

new可以呼叫物件的建構函式,對應的delete呼叫相應的析構函式;

malloc僅僅分配記憶體,free僅僅**記憶體,並不執行建構函式和析構函式;

new、delete返回的是某種資料型別指標,malloc、free返回的是void指標。

拷貝建構函式是一種特殊的建構函式,函式的名稱必須和類名稱一致,它的第乙個引數必須是本型別的乙個引用變數。什麼時候會呼叫拷貝建構函式呢?

物件以值傳遞的方式傳入函式;

物件以值傳遞的方式從函式返回;

物件需要另外乙個物件進行初始化;

C C 基礎知識

c 基礎知識 定義在class宣告內的成員函式預設是inline函式 進製 問 假設在n進製下,等式 240 12 2880 成立,n值是 a 19 b 18 c 17 d 16 e 15 f 以上都對 答 2 n 2 4 n 1 1 n 2 2 n 3 8 n 2 8 n 1 化簡後為恒等式,故n...

c c 基礎知識

include includeint main else system pause return 0 計算機的原碼用於表示,有符號的前提最高位為符號位,0為正數,1代表負數,其餘各位為數值本身的絕對值,無符號就是資料的絕對值 反碼 正數,反碼與原碼相同 負數,符號位為1,其餘為對原碼取反 補碼 原碼...

C C 基礎知識2

return c pos m 什麼意思?return c pos m 又是什麼意思?還有,a b c return c pos m 什麼意思?相當於 if c pos m else 其中c pos m 表示式是判定 c的值不等於陣列pos中下標為m這個元素的值 是否是對的,如果不等於則是真的,反之是...