EBSILON®Professional Online Documentation
本主题中
    指针函数
    本主题中

    指针函数


    这些函数用于执行指针操作(就像在 C 编程语言中)。指针是由类型名称前的"^"来声明的。要想获得指针所指向的地址内容,在名称后使用"^"。

    名称

    目的 

    参数 

    返回值

    例子

    copymem

    复制一个内存区域。

    大小 = 基本数据类型的数量。

    1: POINTER: 目的地

    2: POINTER: 来源

    3: INTEGER: 大小

     

    dispose

    再次释放内存区域,该区域是由函数 new 分配给对象的,指针指向该对象。 

    1: POINTER:

    var

    pi:^integer;

     

    begin

    new(pi);

    pi^:=5;

    print (pi^);

    dispose(pi);

    end;

    freemem

    再次释放内存区域,该区域是由函数 getmem 分配给对象的,指针指向该对象。

    1: POINTER:

     

    getmem

    创建一个新的指针,并为该指针所指向的对象分配必要的内存。

    计数 > 1: 元素数组

    1: POINTER:
    2: INTEGER: 计数

     

    new

    创建一个新的指针,并为该指针所指向的对象分配必要的内存。

    计数 > 1: 元素数组

    1: POINTER:
    2: INTEGER: 计数

    var

    pi:^integer;

     

    begin

    new(pi);

    pi^:=5;

    print (pi^);

    dispose(pi);

    end;

    sizeOf

    返回对象或变量的大小

    对象或变量的类型 

    INTEGER

     var i: integer;
            arr:array[1..10] of string; type rec_t = record
            i,j:integer;
            r:real;
            end;
    var r:rec_t;
    begin
            println(sizeof(i));
            println(sizeof(arr));
            println(sizeof(r));
            println(sizeof(array [2..5]  
                        of string));
            println(sizeof(array of  
                        string)); 
    end.
    // Ausgabe

    10
    3
    4
    1

    addr

    返回参数的地址。
    返回与地址运算符 & 相同的内容

    变量

    INTEGER

    var i: integer;
    begin
             println(addr(i));
             println(&i);
    end.
    // mögliche Ausgabe
    0x00000a80
    0x00000a80