如何通过指针来访问数组中各元素的值?(5分)

  • 主题发起人 主题发起人 kingswaysoft
  • 开始时间 开始时间
K

kingswaysoft

Unregistered / Unconfirmed
GUEST, unregistred user!
如何通过指针来访问数组中各元素的值?
 
???这个问题应该多写一些文字。
 
var
i,j:integer;
a:array of array of string;
P:PString;
begin
setlength(a,100,100);
for i:=0 to 100-1 do
for j:=0 to 100-1 do
begin
a[i,j]:=inttostr(I)+inttostr(J);
end;
P:=@a;
这里我怎么通过指针P来获得数组的每个变量的值。
 
我顺着你的思路试了试,没有什么结果:
type
TMDStringArray = array of TStringDynArray;
TPMDStringArray = ^TMDStringArray;
.......
var
I, J: integer;
Ary: TMDStringArray;
P: PString;
begin
SetLength(Ary, 100, 100);
for I := 0 to 100 - 1 do
for J := 0 to 100 - 1 do
begin
Ary[I, J] := IntToStr(I) + IntToStr(J);
end;
P := @Ary;
......
ShowMessage(TPMDStringArray(FP)^[2][3])

// 我想,上述这一定不是你想要的,因为等于在指针和数组之间来回转换了一番!

你应该对 c/c++ 比较熟悉,否则不应该想到数组和指针之间的这种问题,其实,对于Delphi而言这可能不太需要,或者,没有类似语言层面上的考虑。
 
后退
顶部