2010-07-22 3 views

ответ

2

ВЫБОР и пронумерованный используются для различных целей, так как разные, как «перечисление» и «союз» в C.

пронумерованный только перечисляет набор элементов:

MyFruit :: = {пронумерованный банан, яблоко, груша}

вЫБОР позволяет выбрать один элемент из списка, а также определить его атрибуты:

MyChoice :: = CHOICE { целочисленных, б BOOLEAN, с ПОСЛЕДОВАТЕЛЬНОСТЬ (SIZE (1..10)) OF MyFruit }

Если используется обозначение значения ASN.1 объявлять переменные этих типов было бы выглядеть следующим образом:

aFruit MyFruit :: = банан

aChoice MyChoice :: = с: {банан, яблоко, банан, груша}

anotherChoice MyChoice :: = а: 10

См? Функция CHOICE позволяет использовать одно и то же имя для хранения различных типов (таким образом, значения). Как «объединение» в C.

Надеюсь, это поможет.