COHERENT manpages
This page displays the COHERENT manpage for union [Multiply declare a variable].
List of available manpages
Index
union -- C Keyword Multiply declare a variable A union defines an area of storage that can accept any one of several types of data. In effect, it is a multiple declaration of a variable. For example, a union may be declared to consist of an int, a double, and a char *. Any one of these three elements can be held by the union at a time, and will be handled appropriately by it. For example, the declaration union { int number; double bignumber; char *stringptr; } example; allows example to hold either an int, a double, or a pointer to a char, whichever is needed at the time. All of these have the same address. The elements of a union are accessed like those of a struct: for example, to access number from the above example, type example.number. unions are helpful in dealing with heterogeneous data, especially within structures; however, you are responsible for keeping track of what data type the union is holding at any given time. Passing a double to a union and then reading the union as though it held an int will yield results that are unpredictable, and probably unwelcome. Example For an example of how to use a union in a program, see the entry for byte ordering. See Also C keywords, initialization, struct, structure ANSI Standard, §3.1.2.5, §3.5.2.1