b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(26)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

var

Ch: Char;

L: Integer;

Source, Dest: PChar;

begin

...

end;

声明的第一行是函数头,剩下的所有行构成了块。Ch、L、Source和Dest是局部变量,它们的声明仅作用于UpperCase函数块中,并且覆盖(仅在这个块中)在程序块或单元的接口(或实现)部分对同一个标志符的声明。

Scope(范围)

一个标志符,比如变量或函数名,只能用于它声明的范围。声明的位置决定了它的范围,在声明程序、函数或过程时声明的标志符,它们的范围限是声明它的块;在单元的接口部分声明的标志符,它的范围包括使用它的任何其它单元或程序。具有较小范围的标志符,特别是函数和过程中声明的标志符,有时称为局部的(local);具有较大范围的标志符称为全局的(global)。

决定标志符范围的规则如下: 若标志符声明出现在……

程序、函数或过程声明

单元的接口部分

单元的实现部分,但不是在任何函

数或过程的块中。

记录类型的定义中(也就是说,标

志符是记录的一个字段名)

类的定义中(也就是说,标志符是

类的字段、属性或方法名) 它的范围扩展到…… 从它声明的地方到当前块的末尾,包括当前块所包含的所有块。 从它声明的地方到单元的末尾,也包括使用这个单元的其它任何单元或程序。(参考Programs and units) 从它声明的地方到单元的末尾,标志符对单元中的任何函数或过程是可用的,若有初始化和结束化部分的话,也包括它们。 从它声明的地方到记录类型定义的末尾(参考Records)。 从它声明的地方到类定义的末尾,包括它的派生类;还包括类和派生类的所有方法块(参考Classes and objects)。

命名冲突

当一个块包含另一个时,前者称为外部块,后者称为内部块。若外部块声明的标志符在内部块被重新声明,则内部声明覆盖外部声明,也决定了标志符在内部块中的意义。比如,若你在单元的接口部分声明- 40 -

Syntactic elements

了变量MaxValue,又在这个单元的一个函数中以同一个名字声明了另一个变量,在函数块中,没有限定的MaxValue指的是后者,是局部声明。类似的,当一个函数声明出现在另一个函数中时,它开辟了一个新的内部范围,在这里能重新声明被外部块使用的标志符。

使用多个单元令范围的定义复杂化。在uses子句中列出的每个单元,它引入(impose)一个新范围,这个范围包含uses子句中列在它之后的单元以及包含uses子句的程序或单元。在uses子句中最先列出的单元表示最),每个接下来的单元表示前一个中的一个新范围。若两个或多个单元在接口部分声明了相同的标志符,没有限定的标志符引用使用最内层的声明,也就是说,是引用本身所在的单元,或者,若此单元没有声明它的话,则是uses子句中声明它的单元中的最后一个。

System单元被每个程序或单元自动使用,它包含的声明,以及编译器自动解析的内置(预定义)类型、例程和常量,总是具有最。

通过使用限定符(参考Qualified identifiers)或

规则来绕过内层声明。 with语句(参考With statements),你可以覆盖这些范围

- 41 -

Data types, variables and constants

Data types, variables and constants(数据类型、变量和常量)

Data types and variables: Overview(概述)

类型在本质上是一种数据的名称。当声明一个变量时,必须指定它的类型;类型决定了它的取值范围和可以进行的操作(运算)。每个表达式返回一个特定类型的值,函数也是如此;


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-26.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 陈会敏
      陈会敏

      好喜欢好喜欢周笔畅

    热点图片
    拼命载入中...