• 命名及不命名的类型


    //命名及不命名的类型 
    {
    为了后续使用或直接用于变量,需要给自定义类型命名。
    如果自定义一个命名的类型,你必须将代码放在特定的type区,如下所示:
    }


    type
      // subrange definition
      Uppercase = 'A'..'Z';

      // array definition
      Temperatures = array [1..24] of Integer;

      // record definition
      Date = record
        Month: Byte;
        Day: Byte;
        Year: Integer;
      end;

      // enumerated type definition
      Colors = (Red, Yellow, Green, Cyan, Blue, Violet);

      // set definition
      Letters = set of Char;

    //使用类型定义构造器直接定义一个变量,此时无需显式命名,如下面的代码:
    var
      DecemberTemperature: array [1..31] of Byte;
      ColorCode: array [Red..Violet] of Word;
      Palette: set of Colors;
    {
    注意:一般来说,你应该避免使用上述不命名类型,
    因为你不能把它们作为参数传给例程,也不能用于声名同一类型的其他变量。
    实际上,Pascal的类型兼容规则是基于类型名的,而不是基于实际的类型定义。
    两个类型相同的变量仍有可能是不兼容的,除非他们的类型有完全相同的名字。
    对于不命名类型,需要编译器给它分配一个内部名字,因此对于数据结构复杂的变量,
    要习惯于定义命名数据类型,你一定不会为此白费工夫的。
    但是上述自定义类型有什么意义呢?如果你不太熟悉Pascal类型构造器,
    通过下面内容你会了解它,此外下面还谈到了同类构造器在不同语言中的差异,
    因此如果你已熟知上面例举的类型定义,不妨往下读,你会对其中内容感兴趣的。
    最后,我将演示一些Delphi例子,并介绍一些能动态访问类型信息的工具。
    }




  • 相关阅读:
    类UNIX系统
    wxpython
    新闻
    游戏公司排名
    游戏网站
    3D打印
    python程序报"iccp known incorrect srgb profile" 警告
    python命令行退出
    plc和嵌入式的区别
    要理解互联网的变化轨迹,唯一的方法是弄清背后的规律。“在线”这个所有人既熟悉又陌生的词语,既是常识,也是我一系列想法的核心。
  • 原文地址:https://www.cnblogs.com/xe2011/p/2518903.html
Copyright © 2020-2023  润新知