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
    
  • 相关阅读:
    (五)Ajax修改购物车单品数量
    (四)加入购物车和购物车操作
    flask blueprint
    2.1.2 BCD码
    2.1.1进位计数制
    1.2.3 计算机系统的层次结构
    flask的宏 macro
    计算机组成原理习题
    flask模版继承和include
    flask自定义过滤器
  • 原文地址:https://www.cnblogs.com/studypanp/p/4906863.html
Copyright © 2011-2022 走看看