如何将数组作为参数?

msky850917 2009-07-30 03:15:10
如何将一个数组作为参数,在过程或方法之间进行调用。
谁能给一个小例子啊?
先谢谢各位了!
...全文
525 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
踢踏 2009-07-30
  • 打赏
  • 举报
回复
抄个现成的:

问:我用procedure Proc(var A:array[1..10] of integer);怎么都不能编译通过,难道Delphi不能传递数组作为参数吗?

答:必须先用Type定义一下即可:
type
TProcArray=array[1..10] of integer;

procedure Proc(var A:TProcArray);
这样就没有问题了,而且对于动态数组也可以用上面的方法!使用动态数组的时候,有一个问题是如何遍历每一个数据项?采用类似的代码即可:
procedure Proc(var A:TProcArray);
var
i:integer;
begin
....
for i:=Low(A) to High(A) do
/// A[i]就是每一个数据项
....
end;
CaiBirdy 2009-07-30
  • 打赏
  • 举报
回复
直接将数组当作参数的:
动态
定义
TRcdParamArray = array of integer;
function www(VAR RcdParamarray:TRcdParamArray):boolean;
var
iCount:integer;
begin
iCount:=Length(RcdParamarray);//数组长度
...
...
end;
静态
RcdParamArray : array[0..1] of integer =(1,2);
function www(PRcdParamData:PByte;iCount,iItemLen:integer):boolean;
var
p:Pbyte;
data1,data2,iReadLen:integer;
begin
p:=PRcdParamData;
move(p^,data1,iItemLen);//
Inc(p,SizeOf(integer));
move(p^,data2,iItemLen);//
end;

.....
..
www(Pbyte(@RcdParamArray ),2,SizeOf(integer));

随便写下,乱乱的,反正就是用指针传参吧。。。。。。。
ok1411 2009-07-30
  • 打赏
  • 举报
回复
fun(arr: array of TType)
这样就可以了吧
1) 本套课程针对高校大学生系统学习C语言而录制,从0基础入门讲起,循序渐进,通俗易懂,同时适用于计算机系及非计算机系的同学。通过学习可以帮助大家掌握C语言本质,轻松面对C语言全国二级考试,并达到能独立完成中型C项目、C游戏的水平;2) 多数高校都开设了C语言课程,网上C语言课程也很多,但普遍存在两个问题: (1) 授课方式单一,大多是照着代码念一遍, 对刚刚接触编程的同学来说,感觉晦涩难懂 (2) 授课内容过度注重语法,没有项目实战支撑,造成课程枯燥无趣。本课程针对上述问题进行了改进 (1) 授课方式采用语法讲解+内存布局示意图+项目的方式,让课程生动有趣好理解 (2) 系统全面的讲解了C语言的核心技术点,还配套录制了《全国计算机二级C语言真题精讲》,让学员在掌握C语言编程的同时,还能轻松面对二级考试;3) 课程详细内容: 常量-变量、分支语句、循环语句、操作符和表达式、函数(库函数、自定义函数、递归调用 )、数组(一维数 组、二维数组数组作为函数参数、指针数组)、指针(指针和指针类型、二级指针和多级指针、指针表达式解析、指针运算、数 组指针、函数指针、回调函数)、调试技巧、程序环境和预处理(翻译环境、运行环境、预定义符号、#define和#undef、宏和函 数、条件编译、文件包含)、 数据在内存中的存储、内存块分配、static、字符函数和字符串函数、自定义类型(结构体、枚举 、联合)、动态内存管理、文件操作(i/o常量、i/o函数、流)。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧