TSL语言基础 > TSL语言基础 > 基础知识 > 运算符

[]运算符    

  •   []是对特殊的运算符,和()类似,他们总是成对出现的,有[的时候,必定有匹配的]作为结尾。
      我们在前面的章节里看到过MOV EAX,[EBP+4]这样的指令,这里的[]是取地址EBP+4位置存贮的双字,而前面我们也提到计算机的内存也像是一个数组一样,地址像是数组的下标。
      在TSL语言中,[]可以有三个用途,一个指示数组的下标项。
      例如:
      A:=array(1,2,3);
      B:=A[0];
      那么B的结果是1;
      []中的内容就是数组的下标。
      如果我们替换掉一行语句
      A:=array(1,2,3);
      A[0]:=2;
      那么数组A的内容就变成了array(2,2,3)。
      []的另外一个作用就是指示字符串中指定下标的字符。
      字符串在概念上与字符数组很类似,例如:
      "ABCD"这个字符串,我们可以类似地认为是一个长度为4的字符数组,我们也借助数组中的下标与项的概念,认为字符串是数字下标数组,而项的类型则为字符。在TSL中,字符串的下标是从1开始的。在其他语言中,Pascal语言的字符串的下标也是以1开始,但是C以及类C的语言中,字符串的下标从0开始。
      在TSL中,并不存在字符这种类型,字符类型被以长度为1的字符串所替代,要么以其ASCII码值来替代。
      例如:
      A:="ABCD";
      B:=A[1];
      那么B的结果是"A"
      如果要给字符串的某个项来赋值:
      A:="ABCD";
      A[1]:="B";
      那么A的值变成了"BBCD"
      我们也可以用下列方法给字符串的某项赋值:
      A:="ABCD";
      A[1]:=0x30;
      结果A的值变成了"0BCD",因为16进制的30就是字符0的ASCII值。
      此外,[]算符还可以用于在类SQL语法中取字段结果,这个内容在今后的数据查询与SQL语言中将会进行具体描述。
      []算符在数组和字符串下标运算中还可以支持子矩阵和子串运算,在这里我们也不做说明,留在后边章节做详细说明。