- 帕斯卡教程
- 帕斯卡 - 主页
- 帕斯卡 - 概述
- Pascal - 环境设置
- 帕斯卡 - 程序结构
- Pascal - 基本语法
- Pascal - 数据类型
- Pascal - 变量类型
- 帕斯卡 - 常数
- 帕斯卡 - 运算符
- 帕斯卡 - 决策
- 帕斯卡 - 循环
- 帕斯卡 - 函数
- 帕斯卡 - 程序
- Pascal - 变量作用域
- 帕斯卡 - 弦乐
- 帕斯卡 - 布尔
- 帕斯卡 - 数组
- 帕斯卡 - 指针
- 帕斯卡 - 记录
- 帕斯卡 - 变体
- 帕斯卡 - 集合
- 帕斯卡 - 文件处理
- 帕斯卡 - 记忆
- 帕斯卡 - 单位
- 帕斯卡 - 日期和时间
- 帕斯卡 - 对象
- 帕斯卡 - 类
- 帕斯卡有用资源
- 帕斯卡 - 快速指南
- 帕斯卡 - 有用的资源
- 帕斯卡 - 讨论
帕斯卡 - 数组
Pascal编程语言提供了一种称为数组的数据结构,它可以存储相同类型元素的固定大小的顺序集合。数组用于存储数据的集合,但将数组视为相同类型的变量的集合通常更有用。
您可以声明一个数组变量(例如numbers)并使用numbers[1]、numbers[2]和...、numbers[100]来表示,而不是声明单个变量(例如number1、number2、...和number100)个体变量。数组中的特定元素通过索引来访问。
所有数组都由连续的内存位置组成。最低地址对应于第一个元素,最高地址对应于最后一个元素。
请注意,如果您想要一个从索引 0 开始的 C 风格数组,则只需从 0 开始索引,而不是从 1 开始。
声明数组
要在 Pascal 中声明数组,程序员可以声明类型,然后创建该数组的变量,也可以直接声明数组变量。
一维数组类型声明的一般形式是 -
type array-identifier = array[index-type] of element-type;
在哪里,
array-identifier - 表示数组类型的名称。
索引类型-指定数组的下标;它可以是除实数之外的任何标量数据类型
元素类型- 指定要存储的值的类型
例如,
type vector = array [ 1..25] of real; var velocity: vector;
现在,velocity 是一个向量类型的变量数组,足以容纳最多 25 个实数。
要从 0 索引开始数组,声明为 -
type vector = array [ 0..24] of real; var velocity: vector;
数组下标的类型
在 Pascal 中,数组下标可以是任何标量类型,例如整数、布尔值、枚举或子范围(实数除外)。数组下标也可以有负值。
例如,
type temperature = array [-10 .. 50] of real; var day_temp, night_temp: temperature;
让我们举另一个例子,其中下标是字符类型 -
type ch_array = array[char] of 1..26; var alphabet: ch_array;
下标可以是枚举类型 -
type color = ( red, black, blue, silver, beige); car_color = array of [color] of boolean; var car_body: car_color;
初始化数组
在 Pascal 中,数组是通过赋值来初始化的,可以通过指定特定的下标或使用 for-do 循环。
例如 -
type ch_array = array[char] of 1..26; var alphabet: ch_array; c: char; begin ... for c:= 'A' to 'Z' do alphabet[c] := ord[m]; (* the ord() function returns the ordinal values *)
访问数组元素
通过索引数组名称来访问元素。这是通过将元素的索引放在数组名称后面的方括号内来完成的。例如 -
a: integer; a: = alphabet['A'];
上面的语句将从名为 Alphabet 的数组中取出第一个元素,并将值赋给变量 a。
以下是一个示例,它将使用所有上述三个概念,即。声明、赋值和访问数组 -
program exArrays; var n: array [1..10] of integer; (* n is an array of 10 integers *) i, j: integer; begin (* initialize elements of array n to 0 *) for i := 1 to 10 do n[ i ] := i + 100; (* set element at location i to i + 100 *) (* output each array element's value *) for j:= 1 to 10 do writeln('Element[', j, '] = ', n[j] ); end.
当上面的代码被编译并执行时,它会产生以下结果 -
Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109 Element[10] = 110
帕斯卡数组详细信息
数组对于 Pascal 来说很重要,应该需要更多的细节。Pascal 程序员应该清楚以下几个与数组相关的重要概念 -