P. 1
Data Structures Using C

Data Structures Using C

4.0

|Views: 1,314|Likes:
Published by TB

More info:

Published by: TB on Mar 18, 2009
Copyright:Traditional Copyright: All rights reserved

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/17/2011

pdf

text

original

Next we define a new type of data with a typedef. This defines a
complete new type that can be used in the same way that int or char can
be used. Notice that the structure has no name, but at the end where
there would normally be a variable name there is the name BOATDEF.
We now have a new type, BOATDEF, that can be used to define a
structure anywhere we would like to. Notice that this does not define
any variables, only a new type definition. Capitalising the name is a
common preference used by programmers and is not a C standard; it
makes the typedef look different from a variable name.

We finally come to the big structure that defines our data using the
building blocks already defined above. The structure is composed of 5
parts, two simple variables named vehicle and weight, followed by the
union, and finally the last two simple variables named value and owner.
Of course the union is what we need to look at carefully here, so focus
on it for the moment. You will notice that it is composed of four parts,
the first part being the variable car which is a structure that we defined
previously. The second part is a variable named boat which is a
structure of the type BOATDEF previously defined. The third part of
the union is the variable airplane which is a structure defined in place in
the union. Finally we come to the last part of the union, the variable
named ship which is another structure of the type BOATDEF.

It should be stated that all four could have been defined in any of the
three ways shown, but the three different methods were used to show
you that any could be used. In practice, the clearest definition would
probably have occurred by using the typedef for each of the parts.

Module 815

Data Structures Using C

Page 813-29

We now have a structure that can be used to store any of four different
kinds of data structures. The size of every record will be the size of that
record containing the largest union. In this case part 1 is the largest
union because it is composed of three integers, the others being
composed of an integer and a character each. The first member of this
union would therefore determine the size of all structures of this type.
The resulting structure can be used to store any of the four types of
data, but it is up to the programmer to keep track of what is stored in
each variable of this type. The variable vehicle was designed into this
structure to keep track of the type of vehicle stored here. The four
defines at the top of the page were designed to be used as indicators to
be stored in the variable vehicle. A few examples of how to use the
resulting structure are given in the next few lines of the program. Some
of the variables are defined and a few of them are printed out for
illustrative purposes.

The union is not used frequently, and almost never by novice
programmers. You will encounter it occasionally so it is worth your
effort to at least know what it is.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->