いくつかの選択肢がある場合、どのようなタイプの組み合わせが含まれているのか判断できますか?ユニオンでどのようなタイプが使用されているかを調べる方法は?
typedef union
{
char charArr[SIZE];
int intVal;
float floatVal;
} VALUE_TYPE;
VALUE_TYPE number;
number.intVal = 8;
値が別の場所から設定されていた場合、ここに組合が含まれていることを知る方法を教えてください。
はい、彼がメモリを節約しようとするならば、これはそれぞれの 'VALUE'に対して追加の' enum'(整数?)を格納する必要があります。また、一貫性のある値を格納するようにユーザーを強制することはできません。つまり、 'my_value.val = 10; my_value.val_type = is_charArr; '! – vulkanino
@vulkaninoこの構造体を適切に設定して取得するためのラッパーを作成できます。 PHPでは、store-everything構造体を保護するためにたくさんのマクロを使用し、型をucharに格納します。 – Coren