zoukankan      html  css  js  c++  java
  • delphi 指针 认识

    delphi 指针分为类型指针和无类型指针:

    类型指针分为PChar、PInteger、PString等。

    无类型指针Pointer。

    PPChar/PP...为指针的指针

    @和Addr一样,为获取变量存放的地址、^为指针指向的内容。

    @变量, Addr(变量), 指针^

    var
      p: pChar;      // 这样定义    p为类型指针:PChar()  PInteger() PString()...   PChar 可看做 ^Char
    begin
      p := 'China';
      inc(p);
      p := p + 1;     // 同Inc(c)
      ShowMessage(p);
      dec(p);
      p := p -1 ;          // 减两次 还原
      ShowMessage(p);
    end;

    sdf

    var
      p1: Pointer;   // p1位无类型指针
      s : string;
      i: integer;
    begin
      s := 'China';
      p1 := PChar(s);                     // 给无类型指针赋值
      Showmessage(Char(p1^));           //
      p1:= Pointer(Integer(p1^)+1);        //把指针后移一位
      ShowMessage(string(Char(p1^)));       //读取后移后的指针内容 a
    同样的代码在XE里却不行,string(Char(p1^))为乱码,
    然后我将Integer(p1^) + 2 就行了,
    是因为D7里的Char在XE里不是Char,而是WideChar,占两个字节,
    所以要加2
    
  • 相关阅读:
    OD 实验(十三)
    第一个 Windows 界面程序
    C 语言
    C 语言
    OD 实验(十二)
    PowerShell 常用命令
    OD 实验(十一)
    OD 实验(十)
    redis
    memcached缓存系统
  • 原文地址:https://www.cnblogs.com/studypanp/p/4906863.html
Copyright © 2011-2022 走看看