delphi数组作为参数传值
2016-11-24 16:51
387 查看
在函数中如果数组的个数不定,可以使用开放数组参数
实参可以接受静态数组和动态数组
procedure
p1(a:
array
of
Byte
);
begin
ShowMessage( IntToHex(
Integer
(@a),
2
));
ShowMessage(IntToStr(a[
0
]));
end
;
procedure
TForm1
.
btn1Click(Sender: TObject);
var
a:
array
[
0..5
]
of
Byte
;
begin
ShowMessage(IntToHex(
Integer
(@a),
2
));
p1(a);
end
;
function Find(A: array of Char): Integer;
以上函数使用字符数组作为参数传值,其中A:array of Char虽然有着与动态数组
dynamic array相近的形式,但是在这里它并不代表着动态数组。这里A:array of Char
可以使用任意静态或动态数组。
另外,如果一定使A:array of Char为动态数组,则须使用以下形式:
type TDynamicCharArray = array of Char;
function Find(A: TDynamicCharArray): Integer;
======================
例子(e.g.)
function Find(A: array of Char): Integer;
begin
setlength(A,100);//出错,应为setlength只能用于动态数组。
end;
function Find(A: TDynamicCharArray): Integer;
begin
setlength(A, 100);//正确。
end;
相关文章推荐
- 关于结构体里面的字符串指针输出出现乱码的问题与结构体数组作为参数传值的问题
- 终于找到了可以使用数组作为Oracle程序包参数的方法
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- 数组大小不能在函数内计算,而是应该作为参数传进来
- 数组作为参数传给存储过程(from:http://www.codeproject.com/KB/database/SQLArrayParameterHandling.aspx)
- C++ 多维数组作为函数的返回值和参数
- 问vb回调函数中能否将数组作为传递参数?
- 函数作为参数,函数数组的练习。
- 数组作为函数的参数时,不能通过sizeof运算符得到该数组的大小
- 作为函数参数时String和String[]数组的区别
- delphi 开放数组参数
- 数组如何作为方法的参数
- 理解 Delphi 的类(十) - 深入方法[21] - 开放数组参数
- 理解 Delphi 的类(十) - 深入方法[20] - 静态数组参数
- 数组作为SQL查询参数
- 利用数组名作为函数参数传递排序和用指针进行排序
- 数组作为方法参数
- 数组 作为oracle 存储过程参数的 实践
- Delphi 中将对象作为参数传递的使用
- 数组作为函数参数 自动转换为同类型指针