4

列挙型を使用する場合と、ASN.1で選択型を使用する場合の例を教えてください。

4

1 に答える 1

5

CHOICEとENUMERATEDは、Cの「enum」や「union」など、さまざまな目的で使用されます。

ENUMERATEDは、要素のセットのみをリストします。

MyFruit :: = ENUMERATED {バナナ(1)、リンゴ(2)、梨(3)}

CHOICEを使用すると、リストから1つの要素を選択し、その属性を定義できます。

MyCHOICE :: = CHOICE {a INTEGER、b BOOLEAN、c SEQUENCE(SIZE(1..10))OF MyFruit}

ASN.1値表記を使用してこれらのタイプの変数を宣言すると、次のようになります。

aFruit MyFruit::=バナナ

aChoice MyCHOICE :: = c:{バナナ、リンゴ、バナナ、洋ナシ}

anotherChoice MyCHOICE :: = a:10

見る?CHOICEでは、同じタイプ名を使用して異なるタイプ(つまり値)を格納できます。Cの「ユニオン」のように。

お役に立てれば。

于 2010-08-20T10:22:36.783 に答える