Delphi结构,字符串和指针

2022-12-28 12:45:05 作者:admin

本文整理自网络,侵删。

 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杀进程的两种方式

Delphi createdir 建立文件夹路径

Delphi 调用外部程序并等待其运行结束

解决 Delphi 程序在不同操作系统中 shellexecute 调用 chrome.exe 偶尔无效的问题

Delphi多线程图片转换类实现

Delphi idftp ditdirectory未定义

Delphi 临时文件路径(支持安卓、ios)

Delphi xe10对json的解析应用

Delphi unigui 调用js

Delphi 修改ie首页代码

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



在线咨询 拨打电话