加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – Initialize(),Default()和FillChar()之间的区别

发布时间:2020-12-15 04:03:51 所属栏目:大数据 来源:网络整理
导读:假设您有一个您想要初始化的本地记录: type TMyRec=record Val1,Val2:Integer; end;procedure MyProc;var MyVar:TMyRec;begin // ... ? WriteLn(Val1,Val2);end; 除了“手动”设置每个字段外,还有几种方法可以实现. 使用Initialize(): Initialize(MyVar);
假设您有一个您想要初始化的本地记录:
type 
  TMyRec=record
    Val1,Val2:Integer;
  end;

procedure MyProc;
var
  MyVar:TMyRec;
begin
  // ... ?

  WriteLn(Val1,Val2);
end;

除了“手动”设置每个字段外,还有几种方法可以实现.

>使用Initialize():

Initialize(MyVar);

>使用默认值():

MyVar := Default(TMyVar);

>使用FillChar:

FillChar(MyVar,SizeOf(MyVar),0);

>定义一个空常量,并将其赋值给var

const cMyVar:TMyVar=();  
...    
MyVar := cMyVar;

以上所有似乎都适用于这个例子.我想你甚至可以定义一个全局变量来初始化它.

但是有一种首选方法吗?或者在某些情况下,不建议使用上述任何一种情况,或者它根本不起作用?

简而言之,初始化本地堆栈变量的权利是什么?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读