列挙型を使用する場合と、ASN.1で選択型を使用する場合の例を教えてください。
質問する
2912 次
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 に答える