Каков правильный синтаксис XDR для массива строк переменной длины?
Я читаю RFC 4506, чтобы понять язык определения данных XDR.
В нем упоминается, что массивы переменной длины объявляются следующим образом.
type-name identifier<m>;
Также упоминается, что строки переменной длины объявляются следующим образом.
string object<m>;
К сожалению, единственный способ показать массив строк переменной длины - это связанный список, который кажется очень ручным.
struct *stringlist {
string item<>;
stringlist next;
};
Есть ли более простой или более правильный способ объявить массив строк переменной длины?
1 ответ
Вы можете использовать typedef
ключевое слово.
typedef
также не объявляет никаких данных, но служит для определения новых идентификаторов для объявления данных. Синтаксис:typedef declaration;
Новое имя типа на самом деле является именем переменной в части объявления typedef. Например, следующее определяет новый тип с именем "eggbox", используя существующий тип с именем "egg":
typedef egg eggbox[DOZEN];
Мы можем определить variableLengthString
введите с
typedef string variableLengthString<>;
а затем объявить variableLengthString
массив с
variableLengthString object<>;