我会C 语言,看了一个pascal 语言写的程序,不明白下面的几处是什么意思。那位大侠能解释一下
最好转化为C语言:1:  MoveStr: array [boolean] of string [6] = ('Move: ', '步数: ');2    Write(AtXY(5, 7), NumMoves:5)3  BoardStr = array [0..3] of Char;
  pbs = ^BoardStr;
4    Solved := (pbs(Addr(Board[1, 1]))^ = FBoard1) and
            (pbs(Addr(Board[2, 1]))^ = FBoard2) and
            (pbs(Addr(Board[3, 1]))^ = FBoard3) and
            (pbs(Addr(Board[4, 1]))^ = FBoard4)

解决方案 »

  1.   

    1:  MoveStr: array [boolean] of string [6] = ('Move: ', '步数: ');
    2    Write(AtXY(5, 7), NumMoves:5)
    3  BoardStr = array [0..3] of Char;
       pbs = ^BoardStr;
    4    Solved := (pbs(Addr(Board[1, 1]))^ = FBoard1) and
                (pbs(Addr(Board[2, 1]))^ = FBoard2) and
                (pbs(Addr(Board[3, 1]))^ = FBoard3) and
                (pbs(Addr(Board[4, 1]))^ = FBoard4)
      

  2.   

    1、MoveStr为一个拥有两个元素的数组(boolean为有序类型且只有true和false两种情况),每个元素有六个字符。
    2、
    3、BoardStr为拥有四个元素的数组,BoardStr[0],BoardStr[1],BoardStr[3],BoardStr[4]解为字符变量,即Char型。
     pbs是指向BoardStr数组的指针。
    4、  (pbs(Addr(Board[1, 1]))^ = FBoard1)
         ——~~~~~             ~~~| 
           |   取Board[1, 1]的地址| 
           强制转化地址为Pbs型指针|
                                  取该地址的值,取出来当然是BoardStr类型   不知说清没有,汗。
      

  3.   

    谢谢dundao
    第二问主要是“:5”不清楚,是不是控制屏幕输出的位置