第四章 指针 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我们必须要知道的是,现在的电脑内存很大所以,在真实情况中一个指针和该指针所指的值相邻是极为罕见的。
这边已经很晚了,所以就先写到这里吧,明天继续