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

来源:互联网 发布:阿里云香港服务器快吗 编辑:程序博客网 时间:2024/06/05 19:07
       指针是一个特殊的变量,它里面存储的是一个地址数据。这个地址直接指向存在电脑存储器中另一个地方的值。由于能够通过地址能找到所需的变量单元,也就是该指针指向的地址指存储该变量,因此将地址形象化的称为“指针”。 指针指向的地址必须是有效的。

        所以我们首先要明确,指针是一个变量,在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。
        所以当我们了解指针是一个变量,它的值指向一个有效的地址时,我们对指针就有了一个基本的概念。
阅读全文
0 0
原创粉丝点击