第四章 指针 pointer(进阶)
那么我们这次的课程就是学习如何的实现pointer怎么使用pointer。
我们已经知道在pseudo-code如何的declare一个pointer。
IntegermyNum
refToIntegermyNumPtr
InC++
intmyNum;
int*myNumPtr;
SupposeXisanytype.
Pseudocode:declareapointernamedptrusingrefToXptr
C++:declareapointernamedptrusingX*ptr
值得注意的是*这个符号是极易弄混的
intmyNum; //Thisdeclaresaninteger
int*myNumPtr; //Thisdeclaresapointertoaninteger
myNum=7;
myNumPtr=&myNum; //ThisputstheaddressofmyNum
intothevariablemyNumPtr
在内存中就会是这个样子
Address Content
46839537 myNum
4683954 myNum
4683955 myNum
4683956 myNum
46839574683953 myNumPtr
4683958 myNumPtr
4683959 myNumPtr
4683960 myNumPtr
在这时,我们声明一个integermyNum为7,这时我们需要有一定的内存空间去储存这个integer,大家也都知道integer的大小为4。
然而,一个pointer的大小也为4,所以在声明的时候也为给指针分配四个内存空间,这个内存空间就是储存着它指向的位置。
在上面的例子中,myNumPtr所存储的值就是它所指向值的address,AKA,4683953。
PS我们必须要知道的是,现在的电脑内存很大所以,在真实情况中一个指针和该指针所指的值相邻是极为罕见的。
这边已经很晚了,,所以就先写到这里吧,明天继续
我想一个人旅行,背上简单的行囊,踏上行程,