на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить



Листинг 16.18. Заголовочный файл, получившийся в результате обработки листинга 16.17

//sunrpc/xdr1/opt1.h

7  struct optlong {

8   bool_t flag;

9   union {

10  long val;

11  } optlong_u;

12 };

13 typedef struct optlong optlong;


14 struct args {

15  optlong arg1;

16  struct {

17   u_int arg2_len;

18   long *arg2_val;

19  } arg2;

20  long *arg3;

21 };

22 typedef struct args args;

14-21 Хотя все три аргумента кодируются одинаково, способы присваивания и получения их значений в языке С различны.

В листинге 16.19 приведен текст простой пpoгрaммы, устанавливающей значения всех трех аргументов так, что ни одно из полей long не кодируется.


Объявление указателя XDR | UNIX: взаимодействие процессов | Листинг 16.19. Ни одно из значений не будет закодировано