FreeBASIC学习笔记——8.1 指针的概念
来源:互联网 发布:阿里云香港服务器快吗 编辑:程序博客网 时间:2024/06/05 19:07
指针是一个特殊的变量,它里面存储的是一个地址数据。这个地址直接指向存在电脑存储器中另一个地方的值。由于能够通过地址能找到所需的变量单元,也就是该指针指向的地址指存储该变量,因此将地址形象化的称为“指针”。 指针指向的地址必须是有效的。
可以看出,当指针p的值为&H00000001的时候,p指向变量a,当p的值为&H00000002的时候,也可以看做是p+1(&H00000001+1=&H00000002)的后的值,p指向变量b。
所以当我们了解指针是一个变量,它的值指向一个有效的地址时,我们对指针就有了一个基本的概念。
所以我们首先要明确,指针是一个变量,在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
- FreeBASIC学习笔记——8.1 指针的概念
- FreeBASIC学习笔记——8.3 指针与数组
- FreeBASIC学习笔记——8.4 指针与函数/过程
- FreeBASIC学习笔记——8.2 指针的类型与运算
- FreeBASIC学习笔记——2.1 常量的声明
- FreeBASIC学习笔记——2.2 变量的声明
- FreeBASIC学习笔记——2.3 数据类型
- FreeBASIC学习笔记——6.1 过程
- FreeBASIC学习笔记——6.2 函数
- FreeBASIC学习笔记——1.2 编译器简介FireFly
- FreeBASIC学习笔记——1.3 第一个工程
- FreeBASIC学习笔记——1.5 词法约定
- FreeBASIC学习笔记——2.4 强制转换
- FreeBASIC学习笔记——4.1 选择语句
- FreeBASIC学习笔记——4.2 循环语句
- FreeBASIC学习笔记——4.3 转移语句
- FreeBASIC学习笔记——第05章 数组
- FreeBASIC学习笔记——6.4 可变参数
- 单个删除
- Centos6.9升级glibc解决“libc.so.6: version GLIBC_2.14 not found”报错问题
- kdj python
- Lintcode178 Graph Valid Tree solution 题解
- 计算中英文混合字符串长度,中文算两个字符
- FreeBASIC学习笔记——8.1 指针的概念
- 帆软 取某个数据集的某个字段
- ActiveReports 报表控件V12新特性 -- 新增JSON和CSV导出
- 图论-拓扑排序(学习数据结构与算法分析 C++第三版—clifford A.Shaffer著)有感
- android textView识别html标签
- bzoj2879 [Noi2012]美食节(动态加边费用流)
- Java进阶之路——从初级程序员到架构师,从小工到专家
- Maven的相关问题处理(ClassNotFoundException/NoClassDefFoundError)
- LR12脚本回放时显示图片窗口