procedure TForm1.Button12Click(Sender: TObject); var A, B: array[0..3] of string; <----DELPHI认为是相同类型允许相互赋值。 I: Integer; begin for I := 0 to 3 do A[I] := IntToStr(I); B := A; for I := 0 to 3 do ShowMessage(B[I]); end;说明: var A: array[0..3] of string B: array[0..3] of string DELPHI认为A和B是不同类型,所以不能相互赋值。两个数组相互不影响,由于是静态数组所以各自有自己的内存空间。A,B本身没有引用计数,A的元素是按照string规范来定义的。但不是 citytramper(阿琪) 说的“a[i]改变b[i]也改变了”下面的代码证实了这点(不会相互影响)。procedure TForm1.Button12Click(Sender: TObject); var A, B: array[0..3] of string; I: Integer; begin for I := 0 to 3 do A[I] := IntToStr(I); B := A; for I := 0 to 3 do ShowMessage(B[I]); for I := 0 to 3 do B[I] := IntToStr(I * 10); for I := 0 to 3 do ShowMessage(A[I]); for I := 0 to 3 do ShowMessage(B[I]);end;
for I:=1 to n do A[I]:=B[I]; 这样就可以了
jacky_shen(jacky)我说的直接内存拷贝 那你试试这个 var A, B: array[0..3] of string; I: Integer; begin for I := 0 to 3 do A[I] := IntToStr(I); move(a,b,sizeof(a)); // B := A; for I := 0 to 3 do ShowMessage(B[I]); for I := 0 to 3 do B[I] := IntToStr(I * 10); for I := 0 to 3 do ShowMessage(A[I]); for I := 0 to 3 do ShowMessage(B[I]);end;
for i:=1 to 3 do A[i]:=B[i]; -------------------------- 就够了,^_^,
A[I]:=B[I];
/////////////////
for I:=1 to 3 do//复制数据
A[I]:=B[I];
cooy(b,a);
copy中的参数顺序不清楚了
看看帮助
A[I]:=B[I];
就可以了
A[i]:=B[i];
var
A, B: array[0..3] of string; <----DELPHI认为是相同类型允许相互赋值。
I: Integer;
begin
for I := 0 to 3 do
A[I] := IntToStr(I); B := A; for I := 0 to 3 do
ShowMessage(B[I]);
end;说明:
var
A: array[0..3] of string
B: array[0..3] of string
DELPHI认为A和B是不同类型,所以不能相互赋值。两个数组相互不影响,由于是静态数组所以各自有自己的内存空间。A,B本身没有引用计数,A的元素是按照string规范来定义的。但不是 citytramper(阿琪) 说的“a[i]改变b[i]也改变了”下面的代码证实了这点(不会相互影响)。procedure TForm1.Button12Click(Sender: TObject);
var
A, B: array[0..3] of string;
I: Integer;
begin
for I := 0 to 3 do
A[I] := IntToStr(I); B := A; for I := 0 to 3 do
ShowMessage(B[I]); for I := 0 to 3 do
B[I] := IntToStr(I * 10); for I := 0 to 3 do
ShowMessage(A[I]); for I := 0 to 3 do
ShowMessage(B[I]);end;
A[I]:=B[I];
这样就可以了
那你试试这个
var
A, B: array[0..3] of string;
I: Integer;
begin
for I := 0 to 3 do
A[I] := IntToStr(I); move(a,b,sizeof(a));
// B := A; for I := 0 to 3 do
ShowMessage(B[I]); for I := 0 to 3 do
B[I] := IntToStr(I * 10); for I := 0 to 3 do
ShowMessage(A[I]); for I := 0 to 3 do
ShowMessage(B[I]);end;
A[i]:=B[i];
--------------------------
就够了,^_^,
我的错了
应该这样
b:=a;
b:=copy(a);