Delphi结构,字符串和指针


本文整理自网络,侵删。

 
C 语言版


#include <stdio.h>
#include <stdlib.h>

//结构体声明
typedef struct {
    int num;
    char *str;
} strct;

int main(void) {
   //生成指针类型变量
    strct *entity;

     //确保动态内存
    entity = (strct*)malloc(sizeof(strct));

    //初始化成员
    entity->num = 0;
    entity->str = (char*)malloc(sizeof(char) * 32);

    //将一个字符串分配给内存
    sprintf(entity->str, "%s %s!", "Hello", "World");
    printf("%s\n", entity->str);

    // 释放
    free(entity->str);
    free(entity);

    return 0;
}



ANSI_Delphi版
program Project1;

{$APPTYPE CONSOLE}

uses
  System.SysUtils;

type
//结构体声明
  Tstrct = record
    num: Integer;
    str: PChar;
  end;
  // ??造体へのポインタの定?x
  Pstrct = ^Tstrct;

var

  entity: Pstrct;
begin
  // メモリの?_保
  GetMem(entity, SizeOf(Tstrct));

 //初始化成员
  entity^.num := 0;
  GetMem(entity^.str, SizeOf(Char) * 32);

    //将一个字符串分配给内存
  StrPCopy(entity^.str, Format('%s %s!', ['Hello', 'World']));
  Writeln(entity^.str);

  // 释放
  FreeMem(entity^.str);
  FreeMem(entity);
end.



Unicode_Delphi版
program Project1;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  System.AnsiStrings;

type
//结构体声明
  Tstrct = record
    num: Integer;
    str: PAnsiChar;
  end;
  // ??造体へのポインタの定?x
  Pstrct = ^Tstrct;

var
  // ??造体へのポインタの?涫?
  entity: Pstrct; // [1]
begin
  // メモリの?_保
  GetMem(entity, SizeOf(Tstrct)); // [2]

   //初始化成员
  entity^.num := 0; // [3]
  GetMem(entity^.str, SizeOf(AnsiChar) * 32); // [4]

  //将一个字符串分配给内存
  System.AnsiStrings.StrPCopy(entity^.str, AnsiString(Format('%s %s!', ['Hello', 'World']))); // [5]
  Writeln(entity^.str);

  // 释放
  FreeMem(entity^.str); // [6]
  FreeMem(entity); // [7]
end.

相关阅读 >>

Delphi rtf文件转txt函数

devexpress vcl 动态调用皮肤

Delphi gettempdirectory 获取临时文件夹路径

Delphi 62 进制的简单实现

Delphi-xe5-开发 android uri简介

Delphi 两种登录界面验证写法

Delphi 调用系统右键菜单

Delphi用邻域平均法对图像进行平滑处理

Delphi isipadress 非正则表达式验证ip的方法

Delphi gmt时间与tdatetime转换

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...