Fillchar(var X; Count: Longint; value)

Fillchar是Turbo/Borland Pascal的System单元的一个标准过程,它的使用格式是:FillChar(var X; Count:
Word; value),它的功能是,把指定变量X在内存段中所占的低Count个字节赋为相同的值value,
其中value是填充的值,只能是Byte、Char或Boolean等单字节类型的值。在Free Pascal中稍加扩展为FillChar(var X;
Count: Longint; value), 功能没变。

[例1]:Fillchar通常用来给数据赋初值。

var
a:array [1..10] of arrtype;

执行fillchar(a,sizeof(a),0);
当arrtype为

1.real(其他实数类型差不多) 使得a中的元素全部成为0.0

2.integer(byte,word,longint,shortint都相同) 全部为0
3.boolean 全部为false

4.char 全部为#0

这里使用了函数sizeof(a),其功能是返回变量a所占的总字节数,如上例返回:


当arrtype为
1.real sizeof(a)的值为60(每个元素占6个字节,10个元素共占60个字节)
single
sizeof(a)的值为40(每个元素占4个字节,10个元素共占40个字节)
double
sizeof(a)的值为80(每个元素占8个字节,10个元素共占80个字节)
extended
sizeof(a)的值为100(每个元素占10个字节,10个元素共占100个字节)
comp
sizeof(a)的值为80(每个元素占8个字节,10个元素共占80个字节)
2.integer(word) sizeof(a)的值为20
(每个元素占2个字节,10个元素共占20个字节)
3.byte (shortint) sizeof(a)的值为10
(每个元素占1个字节,10个元素共占10个字节)
4.longint sizeof(a)的值为40 (每个元素占4个字节,10个元素共占40个字节)

5.boolean sizeof(a)的值为10(每个元素占1个字节,10个元素共占10个字节)
6.char sizeof(a)的值为10
(每个元素占1个字节,10个元素共占10个字节)


所以例1的结果就是将数组a的所有元素(全部字节)用0来填充,要注意对不同类型的数据而言,对“0”的“解释”是截然不同的!对整型或实型量来
讲,所有字节均为0,则该量也为0;对boolean型量(一个字节)来讲,0表示false(非0数表示true),则该量为false;对char型
量(一个字节)来讲,0表示ASCII码值为0的字符,则该量为#0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值