1. 程序:静态的数据结构 struct tftphdr { unsigned short th_opcode; /* packet type */ union { unsigned short tu_block; /* block # */ unsigned short tu_code; /* error code */ char tu_stuff[1]; /* request packet stuff */ } th_u; char th_data[1]; /* data or error string */ }; 2. 对数据结构中的每个变量,掌握在真实世界中的意义,并明白这个变量的值域。 A. 意义 struct tftphdr { /*tftp 协议头*/ unsigned short th_opcode; /* packet type */ /*tftp的操作码,也可以叫包类型*/ union { unsigned short tu_block; /* block # */ /*当操作码表示传输数据的时候,这个联合 体会使用这个值*/ unsigned short tu_code; /* error code */ /*当操作码表示传输出错的时候,这个 联合体会使用这值*/ char tu_stuff[1]; /* request packet stuff */ /*读请求和写请求的时候会用到*/ } th_u; char th_data[1]; /* data or error string */ /*数据或者是错误字符串*/ }; B. 值域 struct