我在用delphi编程时,有几个赋值语句不明白其道理。
如:
var
a, b: integer;
begin
a := 1;
b := a;
end;
上面是简单变量赋值 a 赋给 b ,b里存是a的指针还是,b里存的是1。在内存中是两分1还是一份。
答。内存中有两份.数值都是1.
var
a: Array[0..100] of char
b: Array[0..100] of char
begin
b := a;
end;
数组赋值和简单变量赋值一样么?
答:有一份。数组赋值传递的是指针。因此A,B用的是同一地址,只是用了两个变量名字。
还有机构类型变量的赋值又是怎么样的?
type
TA = record
a1: integer;
end;
var
a: TA;
b: TA;
begin
b := a
该项赋值delphi是怎样处理的?
end;
答。两份记录变量,数值一样,地址不一样。
还有类变量赋值是怎么处理的?
var
a: TA;
b: TA;
begin
a :=TA.Create
b := a
?请问a实例内存中有几个? 该项赋值delphi是怎样处理的?
end
答。实例只有一个,即TA.CreateB创建的。有地址不同的A,B两个指针变量,但A,B这两个指针变量里的内容是一样的,都指向TA.Create创建的实例。
来自:andy263, 时间:2003-12-17 18:45:00, ID:2360848
变量是赋值
书祖是获得指针(会同步)
来自:zhaogh_2171, 时间:2003-12-18 8:34:00, ID:2361326
to andy263,
对象赋值是怎样的能?
var
a, b: integer;
begin
a := 1;
b := a;
end;