Download Practical C Programming - International Research Institute MICA

Transcript
Chapter 12
12
In this chapter:
• Structures
• Unions
• typedef
• enum Type
• Casting
• Bit Fields or Packed
Structures
• Arrays of
Structures
• Summary
• Programming
Exercises
12.
Advanced Types
Total grandeur of a total edifice,
Chosen by an inquisitor of structures.
—Wallace Stevens
C provides the programmer with a rich set of data types. Through the use of structures, unions, and enumerated types, the programmer can extend the language
with new types.
Structures
Suppose we are writing an inventory program for a warehouse. The warehouse is
filled with bins that contain various parts. All the parts in a bin are identical, so we
don’t have to worry about mixed bins.
For each bin, we need to know:
•
The name of the part it holds (string 30 characters long)
•
The quantity on hand (integer)
•
The price (integer cents)
In previous chapters, we have used arrays for storing a group of similar data types.
However, in this example, we have a mixed bag: two integers and a string.
Instead of an array, we will use a new data type called a structure. In an array, all
the elements are of the same type and are numbered. In a structure, each element
or field is named and has its own data type.
The general form of a structure definition is:
struct structure-name {
field-type field-name;
/* comment */
173