packed record一般兼容DLL中的C接口
例如
a=packed record
x:word;
y:integer;
end;
b=record
x:word;
y:integer;
end;
当 c:array[0..10] of char的时候
copymemory(c[0],@a,sizeof(a))的话。 packed record中的各数据直接连接式排列
也就是x:=1 y:=2的时候。内存表示为 01 00 02 00 00 00 长度刚好是8,是值
但是record 中 各项都带有地址指针。。。如果直接copymemory的话 复制出来不是值而是个地址指针。