深入了解Sun RPC:原理、格式与应用分析
1. 链表初始化
在处理数据结构时,链表的初始化是一项基础且重要的操作。这里为四个链表项分配了空间,但仅初始化了其中三个。初始化顺序依次为nameval[2]、nameval[1]和nameval[0],链表头out.list被设置为&nameval[2]。这样做的目的是展示XDR运行时会遵循指针,链表项编码的顺序与所使用的数组项并无关联。
为了便于观察每个字节的ASCII值,将值初始化为十六进制。输出显示,每个链表项前都有一个4字节值为1的标识,可看作可变长度数组的长度为1,也可视为布尔值TRUE。而第四个项仅由一个4字节值为0的标识组成,表明链表结束。
solaris % opt2 1 5 6e616d65 31000000 1111 1 6 6e616d65 65320000 2222 1 7 6e616d65 65653300 3333 0 one element follows string length n a m e 1,3 bytes of pad corresponding value one element follows string length n a m e e 2,2 bytes of pad corresponding value one element follows string length n a m e e