。嗨哟 发表于 2015-4-22 13:32:12

函数名A(var c:byte):integer 这句话是什么意思?求助

如题:括号内的为输出参数吗?byte相当于c中的什么?

小人 发表于 2015-4-22 13:44:24

byte 是字节型
var是 传址类型相当于 c语言的指针

。嗨哟 发表于 2015-4-22 14:16:19

小人 发表于 2015-4-22 13:44
byte 是字节型
var是 传址类型相当于 c语言的指针

kp_GetSysInitStatus(var InitStatus:byte):integer;
2.获取初始化状态
var
re:integer;
sTmp:string;
bStatus:byte;
begin
memo1.Lines.Add('获取系统初始化状态...');
re:=kp_GetSysInitStatus(bStatus);
sTmp:= inttostr(bStatus);
memo1.Lines.Add('状态(1-已初始化,0-未初始化):'+sTmp);

他说括号内的是穿出的参数 可是函数本身不是int型的吗?那么返回值不就是re怎么又变成了sTmp。。。

小人 发表于 2015-4-22 17:43:57

。嗨哟 发表于 2015-4-22 14:16
他说括号内的是穿出的参数 可是函数本身不是int型的吗?那么返回值不就是re怎么又变成了sTmp。。。


kp_GetSysInitStatus() 函数接收的 参数是传址类型   (你得明白传址是什么)
bstatus作为一个参数传进去 . 因为是传址类型 .所以 bstatus 相当于返回值(win编程很常见的多个返回值的 做法)
如果不明白把传值 和 传值 的区别了解下
(传值就是传数值   ,传址就是把内存地址传过去)

。嗨哟 发表于 2015-4-28 16:01:51

小人 发表于 2015-4-22 17:43
kp_GetSysInitStatus() 函数接收的 参数是传址类型   (你得明白传址是什么)
bstatus作为一个参数传 ...

谢谢已经了解 了~~

myqicq 发表于 2015-4-28 18:29:54

路过,顶一下!!!

angel2015 发表于 2015-4-28 20:12:28

likeangel 发表于 2015-4-29 10:31:36

页: [1]
查看完整版本: 函数名A(var c:byte):integer 这句话是什么意思?求助