c 學習 this指標

2021-10-01 17:21:04 字數 780 閱讀 4942

先從乙個程式的記憶體空間說起

接下來用彙編來**編譯器如何做到的

a.change();

00214040 lea ecx, [a] //呼叫成員函式時將物件a的位址賦值給ecx暫存器

00214043 call a::change(0211447h) //call函式

void change(void)

00fe4716 pop edi

00fe4717 pop esi

00fe4718 pop ebx

00fe4719 mov esp, ebp

00fe471b pop ebp

00fe471c ret

C學習 指標

1 指標 a int a 表示乙個記憶體空間,這個空間用來存放乙個整數 int b int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放整數的空間,即 a 中提到的空間 c int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放指標的空間,並且指向的...

C 指標學習

一 指標的概念 如果在程式中定義乙個變數,在編譯時系統會自動給這個變數分配記憶體單元,並根據程式中的定義的變數型別,分配一定長度的記憶體空間,這樣的記憶體單元裡放著變數的值。為了便於記憶體單元的訪問,系統為每乙個記憶體單元分配乙個位址。在變數的生存期內,不管以後對變數如何賦值,其記憶體位址都是固定不...

C 學習 指標

關於二級指標的學習遇到了一些困惑,也有了一些不知是否正確的結論。在文章中留個底以記錄學習過程。author 以下是一些暫時的結論 1.將每個變數名都理解成位址 2.注意區分堆與棧中的變數 3.表示取左值 根據位址跳轉 表示取位址 宣告時表示建立乙個引用 ex.char string aaa char...