#includeusing namespace std;
void fun(int *p)
int main()
{ int a = 10;
int *q;
q = &a;
cout 《我對這段程式的理解在fun函式中b的位址賦給p了,為什麼呼叫之後,q的位址不變。
5.當形參和實參不是指標型別時,在該函式執行時,形參和實參是不同的變數,他們在記憶體中位於不同的位置,形參將實參的內容複製乙份,在該函式執行結束的時候形參被釋放,而實參內容不會改變。
而如果函式的引數是指標型別變數,在呼叫該函式的過程中,傳給函式的是實參的位址,在函式體內部使用的也是實參的位址,即使用的就是實參本身。所以在函式體內部可以改變實參的值。
c 賦值運算子為什麼要返回引用
一 c c 賦值運算子的本意為 返回左值的引用 左值 賦值號左面的變數而非其值 例 int a,b 3,c 2 a b c cout 對於a b a,b均為物件時 若不返回左值的引用,將會生成臨時物件。如果不處理a b c這樣的表示式,也會正常 只是會呼叫拷貝建構函式和析構函式處理臨時物件 二 為了...
為什麼引用型別要重寫hashCode 方法
為什麼引用型別要重寫hashcode 方法?因為不重寫的情況下,兩個我們認為相等的物件經過雜湊後得到了不同的雜湊值。為什麼會發生這樣的情況?當我們不重寫hashcode 方法時,預設呼叫object.hashcode c 實現的native方法,對位址進行雜湊。故當我們使用引用型別變數的hashco...
c語言為什麼要宣告
隨便舉個例子 你在乙個編譯單元 相當於乙個.c檔案中 這樣寫 int main 編譯器該怎麼編譯這個檔案呢?是壓入乙個int型的1,還是壓入乙個long型的1,還是壓入乙個double型的1,對於返回值,是當成float看待呢?還是當成int看待,然後轉化為float型別,這些不能確定的話,就無法編...