FreeBASIC学习笔记——第05章 数组
2017-12-16 09:44
204 查看
数组是变量的特殊类型,作为多个值的容器或元素。数组可以存储任何类型的元素,并且其所有元素共享相同的类型。这些元素通过数组中的位置来读取或写入。数组有大小,它们等于在任何给定时间存储的元素的数量。静态在其整个生命周期内具有不变的大小,而动态数组的大小可以动态更改。数组使用操作符“()”来访问数组中的各个元素。
5.1 静态数组的定义
静态数组一旦定义后就不能改变范围,可以使用Extern、Static和Dim来声明。其中LBound 是指下限或最小索引。UBound 是指上限或最大索引。如果未指定下限,则默认情况下为0,除非使用Option Base语句声明数组的下标。
数组可以是一维的,也可以是多维的。一维数组可以被认为是简单的一行元素。数组也可以有多个维度,使用两个或多个位置访问数组的单个元素。二维数组使用两个位置:一个行和一个列位置来引用单个元素,如网格或表格。三维数组使用三个位置:一个行、一个列和一个深度来引用单个元素,如立方体。四维数组可以被认为是一个或多个三维数组等等。多维数组的声明就像一维数组,只不过指定了多个下限和上限范围。多维数组的最大维数为8维。数组的初始化赋值可以用“{}”包含所需赋值数据。
语法:
例如:一维数组
例如:多维数组
5.2 动态数组
动态数组可以改变大小,因此编译器选择在空闲存储器中为数组元素赋值内存。动态数组使用Extern、Static、Dim和ReDim声明。用Dim声明一个空的动态数组后必须用ReDim调整动态数组的大小,也可以直接用ReDim声明一个动态数组。Preserve关键字用与声明数组是否保存调整之前的数据,没有Preserve关键字则不保存数据。
LBound(数组,维度)和UBound(数组,维度)函数可以检索数组维度的下限和上限。如果未指定维度则默认为第一个维度的下限或上限。
Erase函数用于擦除数组中的数据或释放分配给动态数组的内存。
语法:定义空数组
语法:定义一个动态数组
语法:调整动态数组大小
例如:
5.1 静态数组的定义
静态数组一旦定义后就不能改变范围,可以使用Extern、Static和Dim来声明。其中LBound 是指下限或最小索引。UBound 是指上限或最大索引。如果未指定下限,则默认情况下为0,除非使用Option Base语句声明数组的下标。
数组可以是一维的,也可以是多维的。一维数组可以被认为是简单的一行元素。数组也可以有多个维度,使用两个或多个位置访问数组的单个元素。二维数组使用两个位置:一个行和一个列位置来引用单个元素,如网格或表格。三维数组使用三个位置:一个行、一个列和一个深度来引用单个元素,如立方体。四维数组可以被认为是一个或多个三维数组等等。多维数组的声明就像一维数组,只不过指定了多个下限和上限范围。多维数组的最大维数为8维。数组的初始化赋值可以用“{}”包含所需赋值数据。
语法:
例如:一维数组
例如:多维数组
5.2 动态数组
动态数组可以改变大小,因此编译器选择在空闲存储器中为数组元素赋值内存。动态数组使用Extern、Static、Dim和ReDim声明。用Dim声明一个空的动态数组后必须用ReDim调整动态数组的大小,也可以直接用ReDim声明一个动态数组。Preserve关键字用与声明数组是否保存调整之前的数据,没有Preserve关键字则不保存数据。
LBound(数组,维度)和UBound(数组,维度)函数可以检索数组维度的下限和上限。如果未指定维度则默认为第一个维度的下限或上限。
Erase函数用于擦除数组中的数据或释放分配给动态数组的内存。
语法:定义空数组
语法:定义一个动态数组
语法:调整动态数组大小
例如:
相关文章推荐
- FreeBASIC学习笔记——8.3 指针与数组
- 【Java学习笔记】之数组
- swift学习笔记3-数组、字典
- 黑马程序员——Java学习笔记——数组的排序和查找
- objective-c学习笔记第九章《objective-c 中数组,字符串,集合》
- C++学习笔记2--函数重载 复杂的数据 内存对齐 指针数组 结构与指针 传值传址传引用 联合枚举类型别名
- java学习笔记day05 数组
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.5字符串与数组(4.5.4-4.5.6)
- 数据结构与基本算法的学习笔记-数组-3
- 丹的Python学习笔记Day4数组
- Java学习笔记(三):流程控制与数组(1)
- php 学习笔记--数组篇(12)
- C++数组初始化规则的学习笔记
- Lua学习笔记3. 函数可变参数和运算符、转义字符串、数组
- 算法导论学习笔记——找数组中第i小的元素
- 第五章数组—5.2.5讲学习笔记
- 【Java学习笔记】基础知识学习4【数组的基本知识】
- ios学习笔记(五)数组和字典
- JNI学习笔记5——本地方法处理java数组/引用问题/缓存jfieldID/jmethodID
- MATLAB学习笔记之-----数组、矩阵、向量索引和逻辑索引