delphi 动态数组与静态数组

1,数组长度获取

const
  sCode: array[0..15] of Byte = (
    $52, $83, $EC, $8B, $35, $06, $03, $45, $0C, $5D, $C2, $08, $00, $8D, $40, $00
    );

var scode2: array of byte;

//静态数组获取数组长度

n := sizeof(sCode); //结果是 16

m := sizeof (scode2) ; //  结果是指针的长度 4  

//动态数组长度正确获取

m := length(scode2); //结果 16


//

2,数组内存copy

const
  sCode: array[0..15] of Byte = (
    $52, $83, $EC, $8B, $35, $06, $03, $45, $0C, $5D, $C2, $08, $00, $8D, $40, $00
    );

var scode2: array of byte;
  pBuffer: Pointer;
  n: Integer;

//静态数组内存copy
 CopyMemory(pBuffer, @sCode, sizeof(sCode)); //拷贝scode到内存 正确
//动态数组内存copy
//CopyMemory(pBuffer, @sCode2, sizeof(sCode)); //拷贝scode到内存 内存使用时报错

CopyMemory(pBuffer, @sCode2[0], sizeof(sCode)); //正确的拷贝scode到内存 内存使用时结果正常



//

静态数组 下标默认0开始  拷贝无需指定下标

动态数组则必须指定数组的开始位置,也就是下标[0]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑贝是条狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值