一:定义字符指针p1,p21)p1,p2:pchar2)p1,p2:^char1和2是否是一样的意思?二:给指针赋值(使指针p1指向字符串s)s:string;
s:='abcdaabb'1)p1=s^
2) p1=*s1和2是否是一样的意思?

解决方案 »

  1.   

    1)p1,p2:pchar2)p1,p2:^char相同的。s:string;
    s:='abcdaabb'1)p1=s^  //编译都通不过的。
    2) p1=*s //编译都通不过的。
    你大概把C与PASCI搞混了。
    char *a=new char
    C语言里才用的是*
      

  2.   

    更正:2) p1=@s 是我搞错了,*s是C语言里的指针
      

  3.   

    p1=@s  不是c里的&s
      

  4.   

    1)p1,p2:pchar2)p1,p2:^char相同的。s:string;
    s:='abcdaabb'1)p1=s^  //编译都通不过的。
    2) p1=@s  //也不行的。p1是PCHAR, 长度限制是255,而String长度是不限的(缺省状态)。
    最好p1:=PChar(s);
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      P: ^Char;    <----字符指针
      S: string;
    begin
      S := '1234';
      P := @S[1];  <----对应的取得字符地址
      Caption := P^;
    end;
      

  6.   

    PCHAR没有长度限制的
    Pchar可以认为是指向String的指针@和Addr都是获得地址
    ^是指针指向的数据看看Delphi/Pascal的基本语法书了
      

  7.   

    1)p1,p2:pchar2)p1,p2:^char是不一样的:)
    1,表示变量的是一个指针,指向pchar类型,你可以使用p1^[1]等访问.
    2,表示指向一个char,