第四章 指標 Pointer(進階),pointer進階
第四章 指標 pointer(進階)
那麼我們這次的課程就是學習如何的實現pointer怎麼使用pointer。
我們已經知道在pseudo-code如何的declare一個pointer。
Integer myNum
refToInteger myNumPtr
In C++
int myNum;
int *myNumPtr;
Suppose X is any type.
Pseudocode: declare a pointer named ptr using refToX ptr
C++: declare a pointer named ptr using X *ptr
值得注意的是*這個符號是極易弄混的
int myNum; //This declares an integer
int *myNumPtr; //This declares a pointer to an integer
myNum = 7;
myNumPtr = &myNum; //This puts the address of myNum
into the variable myNumPtr
在記憶體中就會是這個樣子
Address Content
4683953 7 myNum
4683954 myNum
4683955 myNum
4683956 myNum
4683957 4683953 myNumPtr
4683958 myNumPtr
4683959 myNumPtr
4683960 myNumPtr
在這時,我們聲明一個integer myNum 為7,這時我們需要有一定的記憶體空間去儲存這個integer,大家也都知道integer的大小為4。
然而,一個pointer的大小也為4,所以在聲明的時候也為給指標分配四個記憶體空間,這個記憶體空間就是儲存著它指向的位置。
在上面的例子中,myNumPtr所儲存的值就是它所指向值的address,AKA,4683953。
PS我們必須要知道的是,現在的電腦記憶體很大所以,在真實情況中一個指標和該指標所指的值相鄰是極為罕見的。
這邊已經很晚了,所以就先寫到這裡吧,明天繼續