我正在阅读RFC 4506以了解XDR数据定义语言。
它提到变长数组声明如下。
type-name identifier<m>;
它还提到可变长度字符串声明如下。
string object<m>;
不幸的是,它显示具有可变长度字符串数组的唯一方法是链表,这看起来非常手动。
struct *stringlist {
string item<>;
stringlist next;
};
是否有更简单或更正确的方法来声明可变长度的字符串数组?
答案 0 :(得分:2)
您可以使用typedef
关键字。
typedef
也没有声明任何数据,但用于定义新数据 声明数据的标识符。语法是:typedef declaration;
新类型名称实际上是声明中的变量名称 typedef的一部分。例如,以下定义了一种新类型 叫&#34; eggbox&#34;使用名为&#34; egg&#34;的现有类型:
typedef egg eggbox[DOZEN];
我们可以使用
定义variableLengthString
类型
typedef string variableLengthString<>;
然后使用
声明variableLengthString
数组
variableLengthString object<>;