学习中的一个不解!! (0分)

  • 主题发起人 主题发起人 crazypc
  • 开始时间 开始时间
C

crazypc

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么这两个数组不能整体赋值?
书上说:数组的整体赋值必须是同一类型的,下面两个数组应该是同一类型的
所以我就试一下下面的程序:
var
array1:array[0..2]of integer;
array2:array[0..2]of integer;
begin
array1[0]:=1;
array1[1]:=2;
array1[2]:=3;
array2:=array1;
label1.Caption:=inttostr(array2[0]);
end;
运行不能通过!!系统提示:类型不相容。。

var
array1:array[0..2]of integer;
array2:array[0..2]of integer;
改为array1,array2:array[0..2]of integer;就可以了!!
对这我一直不解!!
我认为两个数组同时声明,两个数组在内存中的基地址应该一样,
所以他们就可以整体赋值。为什么类型不相容呢?
还有
这样声明
var
array1:array[0..2]of integer;
array2:array[0..2]of integer;
跟这样array1,array2:array[0..2]of integer;不是一样的吗?哪里不同?不解!!
 
没分吗?
 
谁积极发表观点,就给分。。。
 
呵呵。。。,你仔细看看书。书中说的应该是:只有同一类型的数组才能赋值
…………
是“同一类型”,而不是“相同类型”。
var
array1:array[0..2]of integer;
array2:array[0..2]of integer;
//Array1,Array2:只能说是“相同类型”

array1,array2:array[0..2]of integer;
//Array1,Array2:才能说是“同一类型”
 
我想‘同一类型‘跟‘相同类型’ 应该没有区别吧。。。。
我想知道为什么他们之间为什么不同?
 
我試了一下,真的如你所說,不知道為什麼。找到答案別忘了告訴我。
謝謝。
 
在对计算语言这类规定死了的东西,只有服从
 
接受答案了.
 
后退
顶部