delphi学习笔记(1)-object pascal语言的数据类型

类别:Delphi 点击:0 评论:0 推荐:

学了十多天的delphi,感觉这是易上手好应用。在这里把最基本的知识的总结出来。

一、数据类型:
(1) 基本数据类型:
   a、 整数类型:      (通用类型<32位>:Integer-有符号;Cardinal-无符号)
         具体:
        有符号:Shortint<8位>,Smallint<16位>,Longint<32位 >
        无符号:Byte<8位>,Word<16位>,LongiWord<32位 >
  
   b、字符类型:        (通用类型<8位>:Char -与AnsiChar等同)
          具体:
           AnsiChar<8位> :主要存放Ansi字符
           WideChar<16位>:主要存放Unicode字符
   
   c、布尔类型:          (通用类型<8位>:Boolean-与ByteBool等同)
          具体:
           ByteBool<8位>,WordBool<16位>,LongBool<32位>
          不同的布尔类型主要用于鱼其它编程语言及不同windows系统兼容。
  
    d、枚举类型:
          定义:type  枚举类型标识符=(key1[=val1],.。。。,keyn[=valn])      :n<=255
          如果给某些key指定了值,则未指定值的key是前一个key值加1;
          如果全部默认不指定值,则key1值为0,往后逐个加1。

    e、子界类型:
          定义:type  子界类型标识符=下界 ..下界
          如:type   SubInt=1..3 0;表示 1~30的整数
                  type   SubChar='a'..'z';表示字符

     ※注:1、以上四种类型称为有序类型,即除第一个数为都有先行数、除最后一个数外都有后继数。在这里

    (计算机里),整数是有限的。有序类型的数都有一个序号,称为序数。整数的序数为其本身,其他类型第一

个数序数为0,依次递增。
                 2、子界类型上、下界必须是有同一有序类型,且上界序数大于下界序数。
     
      f、浮点类型:       (通用类型<8字节>:Real-与Double等同)
          具体:
          Double<8字节>,Real48<6字节>Single<4字节>,
          Extended<10字节>,Comp<8字节>,Currency<8字节>

    g、字符串类型:     (通用类型:String-与AnsiString等同)
          具体:
          ShortString :最多存放255个字符,第一个自己存放字符个数,不以NULL结尾
          AnsiString :存放Ansi字符,以NULL结尾
         WideString:存放Unicode字符,以NULL结尾
   
    h、时间、日期类型:TDateTime -实际是浮点类型的别称

(2)复杂数据类型:
  a、指针类型:
        定义:type 指针类型标识符=^基本类型;
        内在分配:New()        内存释放:Destroy()
        对于Pointer 和PChar  用GetMem()或AllocMem()分配内存,用FreeMem()释放内存
        分配内存后,就可以当成基本类型一样使用:指针类型标识符^

        实际上常如下运用指针:          
        var    变量标识符:^基本类型;
        为变量分配内存后就可以将(变量标识符^)当成普通变量使用。

  b、记录类型:
        定义:type   记录类型标识符=Record
                              字段1:类型;
                               ...
                               字段n:类型;
                    end;

  c、集合类型:
         定义: type 集合类型标识符=Set of  基本类型的子集或子界类型;(<=255个元素)

  d、变体(通用)类型: Variant;

(3)数组类型:
    a、一维数组:
          定义:type  数组标识符=Array[下标下限..下标上限] of 基本类型;

    b、多位数组:
          定义: type  数组标识符=Array[下限1..上限1,...,下限n..上限n] of  基本类型;

   c、动态数组(变量):
         var  标识符:array of 基本类型;
         SetLength(标识符,个数);//分配空间
         标识符:=nil;//释放


 

本文地址:http://com.8s8s.com/it/it4362.htm