1

如何在 Delphi 中编写此代码(C++:指向指针的指针)?

   int  var;
   int  *ptr;
   int  **pptr;

   var = 3000;
   ptr = &var;
   pptr = &ptr;

   cout << "Value of var :" << var << endl;
   cout << "Value available at *ptr :" << *ptr << endl;
   cout << "Value available at **pptr :" << **pptr << endl;
4

2 回答 2

9

你可以这样做

var
  i: Integer;
  pi: PInteger;       // or ^Integer
  ppi: ^PInteger;     // or PPInteger, if you first define `type PPInteger = ^PInteger`
begin

  i := 3000;
  pi := @i;
  ppi := @pi;

  Writeln('Value of i: ', i);
  Writeln('Value of i: ', pi^);
  Writeln('Value of i: ', ppi^^); 
于 2013-08-04T15:49:59.297 回答
-2

下面的代码工作正常:

program Project1;

{$APPTYPE CONSOLE}

type
  PIntPtr = ^Integer;
  PInt2Ptr = ^TIntPtr;

var
  pi1: PIntPtr;
  pi2: PInt2Ptr;

begin
  New(pi1);
  try
    New(pi2);
    try
      pi1^ := 1000;
      pi2^ := i1;
      WriteLn(pi2^^);
      Readln;
    finally
      Dispose(pi2);
    end;
  finally
    Dispose(pi1);
  end;
end.
于 2013-08-04T17:24:14.137 回答