>ARRAY 声明
ARRAY 数据类型表示一个由数目固定且数据类型相同的元素组成的数据结构。
声明 ARRAY 所用的语法如下:
声明
语法
示例
ARRAY
<名称> : ARRAY [下限..上限] OF <数据类型> := [<初始化列表>];
MyARRAY_1 : ARRAY[0..7] OF BOOL;
MyARRAY_1 : ARRAY[0..7] OF BOOL := [1,1,0,0,0,1,0,0];
限值可变的 ARRAY
<名称> : ARRAY
OF <数据类型>;
MyARRAY_1 : ARRAY
OF INT;
MyARRAY_2 : ARRAY[*, *, *] OF INT;
局部常量作限值的 ARRAY
<名称> : ARRAY [#<常量名称>..#<常量名称>] OF <数据类型> := [<初始化列表>];
MyARRAY_1 : ARRAY[#LocConst1..#LocConst2] OF INT;
MyARRAY_2 : ARRAY[1..#LocConst] OF INT;
MyARRAY_3 : ARRAY[1..#LocConst] OF INT := [1,1,0,0];
全局常量作限值的 ARRAY
<名称> : ARRAY ["<常量名称>".."<常量名称>"] OF <数据类型> := [<初始化列表>];
MyARRAY_1 : ARRAY["GlobConst1".."GlobConst2"] OF INT;
MyARRAY_2 : ARRAY[1.."GlobConst", 2..5,#l..#u] OF INT;
MyARRAY_3 : ARRAY[1.."GlobConst"] OF INT:= [1,1,0,0];
STRUCT 数据类型 ARRAY
<名称> : ARRAY[下限..上限] OF Struct
<元素名称> : <数据类型>;
<元素名称> : <数据类型>;
...
END_Struct := [<初始化列表>];
MyARRAY_1 : Array[0..1] OF Struct
mem_1 : Int;
mem_2 : Int;
END_STRUCT := [ (2,4),(22,44) ];
UDT 数据类型的 ARRAY
<名称> : ARRAY[下限..上限] OF "<UDT_ 名称>" := [<参数列表>];
MyARRAY_1 : Array[0..1] OF MyType := [ (2,4),(22,44) ];
ARRAY 初始化
可选择初始化 ARRAY。对 ARRAY 进行初始化时要使用初始化列表。初始化列表位于声明后的方括号内,以 := 开头。列表包含的以逗号分隔的值将用于 ARRAY 的所有元素。最多可初始化 10000 个元素。
可选择使用括号中的重复因子,用相同值对多个连续元素进行初始化。重复因子必须是一个正整数。
对于 STRUCT 数据类型的 ARRAY,还可以选择逐个元素进行初始化。可集中为同一类型的所有结构化元素分配一个数值。
初始化列表使用的语法如下所示:
声明
语法
示例
注释
初始化列表
:= [<值>,<值>,<值>... ]
myArray : ARRAY[0..2] OF BOOL := [1,1,0];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[0] := 1
// myArray[1] := 1
// myArray[2] := 0
包含重复因子的初始化列表
:= [<值>,<重复因子>(值),<值>... ]
myArray : ARRAY[1..2, 1..3] OF INT := [9,8,3(10),6];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[1,1] := 9
// myArray[1,2] := 8
// myArray[1,3] := 10
// myArray[2,1] := 10
// myArray[2,2] := 10
// myArray[2,3] := 6
STRUCT 数据类型 ARRAY 的初始化列表
:= [(<值列表元素 1>), (<值列表元素 2>)...]
myArray : Array[0..1] OF Struct
Element1 : Int;
Element2 : Int;
END_Struct := [ (2,4),(22,44) ];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[0].Element1 := 2
// myArray[0].Element2 := 4
// myArray[1].Element1 := 22
// myArray[1].Element2 := 44
ARRAY of STRUCT 的初始化列表(带元素命名规范)
:= [(<元素名称> := <值>), (<元素名称> := <值>)...]
myArray : Array[0..1] OF Struct
Element1 : Int;
Element2 : Int;
END_Struct := [ (Element1 := 2 , Element2:=4), (Element1 := 22, Element2:=44) ];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[0].Element1 := 2
// myArray[0].Element2 := 4
// myArray[1].Element1 := 22
// myArray[1].Element2 := 44
ARRAY of STRUCT 的初始化列表(带重复因子)
:= [<重复因子>(值列表元素 1),<重复因子>(值列表元素 2),... ]
myArray : Array[0..1, 0..1] OF Struct
Element_x : Int;
Element_y : Int;
End_Struct:=[2((1, 11)), 2((2, 22))];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[0,0].Element_x:= 1
// myArray[0,0].Element_y:= 11
// myArray[0,1].Element_x:= 1
// myArray[0,1].Element_y:= 11
// myArray[1,0].Element_x:= 2
// myArray[1,0].Element_y:= 22
// myArray[1,1].Element_x:= 2
// myArray[1,1].Element_y:= 22
UDT 数据类型 ARRAY 的初始化列表
:= [(值列表元素 1>), (<值列表元素 2>)...]
myArray : Array[0..1] OF MyType := [ (2,4),(22,44) ];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[0].UDT-Element1 := 2
// myArray[0].UDT-Element2 := 4
// myArray[1].UDT-Element1 := 22
// myArray[1].UDT-Element2 := 44
ARRAY of UDT 的初始化列表(带元素命名规范)
:= [(<元素名称> := <值>), (<元素名称> := <值>)...]
myArray : Array[0..1] OF MyType := [ (UDT-Element1 := 2,UDT-Element2:=4),(UDT-Element1 := 22,UDT-Element2:=44) ];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[0].UDT-Element1 := 2
// myArray[0].UDT-Element2 := 4
// myArray[1].UDT-Element1 := 22
// myArray[1].UDT-Element2 := 44
ARRAY of UDT 的初始化列表(带重复因子)
:= [<重复因子>(值列表元素 1),<重复因子>(值列表元素 2),... ]
myArray : Array[0..1] OF myType :=[2(((),1))];
ARRAY 中的元素将按照以下方式进行初始化:
// myArray[0].UDT-Element1 := 0
// myArray[0].UDT-Element2 := 1
// myArray[1].UDT-Element1 := 0
// myArray[1].UDT-Element2 := 1
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |