var
  a :integer;
  b :char;
  c :string;
  p :pointer;a :=100
b :='f'
c :='pan'
如上所述,如何a,b,c写入p,然后依序读出来?

解决方案 »

  1.   

    你可以将abc组成一个结构,
    或者用一个TStrings,用String存储a,b(需要转换),然后用point指向TStrings
      

  2.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      MyArray: array[0..30] of char;
      b: ^char;
      i: integer;begin
      StrCopy(MyArray, 'Lloyd is the greatest!'); 
      b := @MyArray; 
      for i := StrLen(MyArray) downto 0 do
      begin
        showmessage(b^);   
        inc(b);      
      end;
    end;看看这个吧,指针仅代表一个地址,而数组名,字符串名都可以看作是一个地址.
    所以可以有b := @MyArray; 这样的操作.
      

  3.   

    我也同意 firetoucher(蹈火者)的思路!
      

  4.   

    应该可以的吧,我记得C++里可一的,DELPHI应该也可以的!!我试一试看!!!:)!
      

  5.   

    可以定义结构来实现,这样比较简单,给指针分配内存也直观。
    或者可以采用memcpy来直接拷贝,不过内存的申请要麻烦些,取的时候也是很死板。
      

  6.   

    xiaoyan21(明月心) 是个好办法!
    有问题请发信息到我的E-mail:[email protected]