function a();
var
b: array [1..4] of integer;
begin
b:=(2,4,3,7); // b是一个局部变量的数组,并且要赋值的数据是没有规律的,怎么给b赋值呢?
end;
上述b的赋值肯定会报错,怎么写正确的语句呢?
...全文
7297打赏收藏
delphi怎么给局部数组变量赋值
很简单的一个问题,为什么在delphi中试了很多方法就是实现不了呢? function a(); var b: array [1..4] of integer; begin b:=(2,4,3,7); // b是一个局部变量的数组,并且要赋值的数据是没有规律的,怎么给b赋值呢? end; 上述b的赋值肯定会报错,怎么写正确的语句呢?
请问一下,采用第二种方法,要是b是二维数组该怎么写呢?
var
b:array of array of integer;
i,j :integer;
begin
b := VarArrayOf([2, 3, 4, 5],[3,7,4,0]);
for i := 0 to 3 do writeln(b[i]);
for j := 0 to 1 do writeln(b[j]);
end;
这样写是否正确呢?多谢了~~~
var Const b: array [0..3] of integer=(1, 2, 3, 4);
这是数组参数形式,初始化数据,不能重新赋值。
var b: array [1..4] of integer;
这是定义数组变量,可以通过指定地址下标,读写数值。
b[0]:=100;
for i:=0 to 3 do
b[i]:=100+i;
三种方法:
var
a: array[1..4] of integer = (1, 2, 3, 4);
b: array of integer;
c: TArray<integer>;
i: integer;
begin
for i := 1 to 4 do writeln(a[i]);
b := VarArrayOf([2, 3, 4, 5]);
c := TArray<integer>.Create(3, 4, 5, 6);
for i := 0 to 3 do writeln(b[i]);
for i := 0 to 3 do writeln(c[i]);
end;
方法a任意Delphi版本都可以,b需要支持动态数组(d4+),c需要支持泛型(d2009+),后两种方法数组下标只能从0开始。。