FreeBASIC学习笔记——8.1 指针的概念

       指针是一个特殊的变量,它里面存储的是一个地址数据。这个地址直接指向存在电脑存储器中另一个地方的值。由于能够通过地址能找到所需的变量单元,也就是该指针指向的地址指存储该变量,因此将地址形象化的称为“指针”。 指针指向的地址必须是有效的。

        所以我们首先要明确,指针是一个变量,在32位程序里,所有类型的指针的值都是一个32位的整数,因为32位程序里地址全都是32位长。也就是定义一个指针,它的值变化只能是&H00000000—&HFFFFFFFF。由于在FreeBASIC中Integer数据类型是可变的,在32位系统中等价于Long(即32位,4字节),在64位中等价于LongInt(即64位,8字节),用Integer来表示指针可以方便的自行在32位或64位系统中切换而不需要计算其长度。

        在这里假设我们有一个变量a的值是100,它存储在地址&H00000001的内存中,有一个变量b,它的值是200,存储在地址&H00000002的内存中,而指针p的值是&H00000001,也就是指向这个变量a,则他们的关系是:
 
        可以看出,当指针p的值为&H00000001的时候,p指向变量a,当p的值为&H00000002的时候,也可以看做是p+1(&H00000001+1=&H00000002)的后的值,p指向变量b。
        所以当我们了解指针是一个变量,它的值指向一个有效的地址时,我们对指针就有了一个基本的概念。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值