求懂pascal的帮忙变换下代码成C

求懂pascal的帮忙转换下代码成C

type TTokenType=(  ttInvalidtoken, ttRegister8Bit .......
type Textraopcode=(eo_none,.......
type tparam=(par_noparam,.......

type topcode=record
  mnemonic: string;
  opcode1,opcode2: textraopcode;
  paramtype1,paramtype2,paramtype3: tparam;
  bytes:byte;
  bt1,bt2,bt3: byte;
  norexw: boolean;
  invalidin64bit: boolean;
  invalidin32bit: boolean;
 // RexPrefixOffset: byte; //if specified specifies which byte should be used for the rexw (e.g f3 before rex )
end;


const opcodes: array [1..opcodecount] of topcode =(
{ok}  (mnemonic:'AAA';opcode1:eo_none;opcode2:eo_none;paramtype1:par_noparam;paramtype2:par_noparam;paramtype3:par_noparam;bytes:1;bt1:$37;bt2:0;bt3:0), //no param
  (mnemonic:'ADC';opcode1:eo_reg2;opcode2:eo_iw;paramtype1:par_rm16;paramtype2:par_imm16;bytes:2;bt1:$66;bt2:$81),
 (mnemonic:'ADC';opcode1:eo_reg;paramtype1:par_rm8;paramtype2:par_r8;bytes:1;bt1:$10),

Pascal可以省略数组赋值么  省略掉的会被赋什么值啊
------解决思路----------------------
0

------解决思路----------------------
声明一个记录(结构体),然后定义一个结构体数组并初始化