动态数组和指针转换(DELPHI)
2009-09-16 10:52
232 查看
Code
procedure TForm1.Button1Click(Sender: TObject);
var
A: array of Integer;
P: PLongint;
I: Integer;
begin
SetLength(A, 3);
GetMem(P, SizeOf(PLongint)* 3);
P^ := 3;
Inc(p);
P^ := 33;
Inc(p);
P^ := 333;
Dec(p);
Dec(p);
// CopyMemory(A, p, SizeOf(PLongint) * 3); 俩个方法都可以
Move(P^, a[0], SizeOf(PLongint) * 3);
for I := Low(A) to High(A) do
Memo1.Lines.Add(IntToStr(A[i]));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
A: array of Integer;
P: PLongint;
begin
SetLength(A, 3);
A[0] := 1;
A[1] := 2;
A[2] := 3;
P := PLongint(A);
Dec(P);
ShowMessage(IntToStr(p^)); // 长度
Dec(P);
ShowMessage(IntToStr(p^)); // 计算器
end;
procedure TForm1.Button1Click(Sender: TObject);
var
A: array of Integer;
P: PLongint;
I: Integer;
begin
SetLength(A, 3);
GetMem(P, SizeOf(PLongint)* 3);
P^ := 3;
Inc(p);
P^ := 33;
Inc(p);
P^ := 333;
Dec(p);
Dec(p);
// CopyMemory(A, p, SizeOf(PLongint) * 3); 俩个方法都可以
Move(P^, a[0], SizeOf(PLongint) * 3);
for I := Low(A) to High(A) do
Memo1.Lines.Add(IntToStr(A[i]));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
A: array of Integer;
P: PLongint;
begin
SetLength(A, 3);
A[0] := 1;
A[1] := 2;
A[2] := 3;
P := PLongint(A);
Dec(P);
ShowMessage(IntToStr(p^)); // 长度
Dec(P);
ShowMessage(IntToStr(p^)); // 计算器
end;
相关文章推荐
- 关于DELPHI数组,指针,字符串转换的例子!(转)
- 关于DELPHI数组,指针,字符串转换的例子!(转)
- delphi里动态数组和指针的运用
- DELPHI数组,指针,字符串转换的例子
- delphi与C++Builder指针和数组转换
- 动态数组空间释放——指针误操作
- 在Delphi下,使用线程向窗体发送动态数组数据的解决方法~
- Delphi 方法或过程中用的参数是动态数组的用法。
- C语言-指针数组_大小写字母转换
- 三十二、数组、指针和字符串:动态内存分配和释放
- 数组指针,指针数组,动态二维数组,指针
- 关于C中字符数组,字符指针以及C++中string类型的两两转换及排序
- 引用、数组引用与指针引用、内联函数inline、四种类型转换运算符
- *Delphi的字符串、PChar和字符数组之间的转换
- 动态数组的使用(动态分配,指针)
- Delphi 指针数组的引用
- 哪位大哥知道怎么用new动态分配一个指针数组?
- C/C++中数组转换成指针的情况
- More Effective C++----(1)指针与引用的区别 & (2)尽量使用C++风格的类型转换 & (3)不要对数组使用多态
- 从Delphi返回动态数组到C#和C++