第四章 指针 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我们必须要知道的是,现在的电脑内存很大所以,在真实情况中一个指针和该指针所指的值相邻是极为罕见的。


这边已经很晚了,所以就先写到这里吧,明天继续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值