在 delphi (Object Pascal 语言)中,使用 array 关键字进行数组定义。
2023-09-11 14:22:49 时间
如果需要定义二维数组可以采取以下定义形式:
一、静态数组定义
静态数组定义,通常用于数组元素的数目确定的情况。定义形式如下:
示例:
1
2
3
4
5
6
7
8
9
10
11
|
type //定义二维数组类型 TMultiArr = array [ 1..3 , 1..3 ] of string ; var MultiArr: TMultiArr; //定义 行12*列12 的 Integer 数组 IntArr: array [ 1..12 ] of array [ 1..12 ] of Integer ; //定义 行5*列5 的 string 数组 StrArr: array [ 1..5 , 1..5 ] of string ; |
二、动态数组定义
动态数组常用于当数组的元素数目不确定的时候,其定义形式如下:
1
2
3
4
|
SamArr: array of array of Integer ; //定义二维数组,数组元素不确定 type TMessageGrid = array of array of string ; //定义二维数组类型,数组元素不确定 var Msgs: TMessageGrid; //声明一个二维数组类型变量 |
二维动态数组的元素数目,可以通过 SetLenth 来动态指定,示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
procedure TForm1 . Button3Click(Sender: TObject); type TMultiArr = array of array of string ; var a: TMultiArr; I, J: Integer ; s: string ; begin SetLength(a, 10 ); for I := Low(a) to High(a) do begin SetLength(a[I], I); for J := Low(a[I]) to High(a[I]) do a[I, J] := IntToStr(I) + ',' + IntToStr(J) + ' ' ; end ; for I := Low(a) to High(a) do begin s := '' ; for J := Low(a[I]) to High(a[I]) do s := s + ' ' + a[I, J]; Memo1 . Lines . Add(s); end ; end ; |
代码运行截图:
1,0
2,0 2,1
3,0 3,1 3,2
4,0 4,1 4,2 4,3
5,0 5,1 5,2 5,3
6,0 6,1 6,2 6,3 6,4 6,5
7,0 7,1 7,2 7,3 7,4 7,5 7,6
8,0 8,1 8,2 8,3 8,4 8,5 8,6 8,7
9,0 9,1 9,2 9,3 9,4 9,5 9,6 9,7 9,8
相关文章
- go语言输入二维数组
- Java语言中有4种访问修饰符
- R语言编程艺术#02#矩阵(matrix)和数组(array)
- R语言均值,中位数和模式
- c语言编程-----指向二维数组的指针
- R语言设置write.table()输出的文件格式
- Go语言的可变(不定长)参数函数
- Atitit.rust语言特性 attilax 总结
- 在ubuntun虚拟机里安装goLang语言编程环境
- Algorithm:C++语言实现之求最大连续子数组(暴力法、分治法、分析法、动态规划法)
- Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略
- go语言学习笔记之数组
- 子数组的最小值之和-c语言
- 合并两个有序数组-c语言
- 快照数组-c语言
- c语言cJson数组生成与解析
- 387集Go语言核心编程培训视频教材整理 | 数组和切片(二)
- Android各国语言对照表(values-xxx)
- c语言数组的初始化
- R语言书籍的学习路线图
- tp 多语言支持
- Java语言基础(环境搭建、语法、变量、类型转换、运算符、控制语句、数组)
- go语言第四章(数组和切片)