3 3wccdel Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-08 #1 怎样把一维数组aa[0..30*50]-->aa[0..30,0..50]?
来 来去若梦行 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-09 #2 for i:=1 to 30 do for j:=1 to 50 do aa[j]:=AA[(i-1)*50+j]
J JohnsonGuo Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-09 #3 来去若梦行的程序似乎是错误的 aa[j]:=AA[(i-1)*50+j] ~~ ~~在Pascal中大小写并不敏感。 var aa: array [0..30 * 50] of Integer; bb: array [0..30] of PIntegerArray; i: Integer; begin for i := 0 to 30 do bb := @aa[i * 50]; ... end; 那么就可以通过bb[i, j]对aa进行访问了。
来去若梦行的程序似乎是错误的 aa[j]:=AA[(i-1)*50+j] ~~ ~~在Pascal中大小写并不敏感。 var aa: array [0..30 * 50] of Integer; bb: array [0..30] of PIntegerArray; i: Integer; begin for i := 0 to 30 do bb := @aa[i * 50]; ... end; 那么就可以通过bb[i, j]对aa进行访问了。
3 3wccdel Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-09 #4 JohnsonGuo: PIntegerArray是什么东东,我怎么在delphi下的help中找不到?
C creation-zy Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-10 #5 如果我没理解错的话: type IntegerArray=array of Integer; PIntegerArray=^IntegerArray; 我试了一下——编译都通不过。 指针和数组指针好像不能... 有必要吗?不就多一个"i*50+j"吗? 我想,在访问二维数组的时候,delphi是要执行这个运算的。只不过写起来方便一点而已。
如果我没理解错的话: type IntegerArray=array of Integer; PIntegerArray=^IntegerArray; 我试了一下——编译都通不过。 指针和数组指针好像不能... 有必要吗?不就多一个"i*50+j"吗? 我想,在访问二维数组的时候,delphi是要执行这个运算的。只不过写起来方便一点而已。
J JohnsonGuo Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-10 #6 真是对不起,写少了些定义. type PIntegerArray = ^TIntegerArray; TIntegerArray = array[0..8191] of Word;
3 3wccdel Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-11 #7 JohnsonGuo: 我对指针不是很了解。 》bb := @aa[i * 50]; 是不是取aa的地址的值? 我试了 “来去若梦行”的代码 aa[j]:=bb[(i-1)*50+j] 好象可行,你看 错误在什么地方?
JohnsonGuo: 我对指针不是很了解。 》bb := @aa[i * 50]; 是不是取aa的地址的值? 我试了 “来去若梦行”的代码 aa[j]:=bb[(i-1)*50+j] 好象可行,你看 错误在什么地方?
J JohnsonGuo Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-13 #8 bb := @aa[i * 50] 是指取aa第i * 50个元素的地址。 来去若梦行,当然可行。我只是给出另一个可行办法罢了。