Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To introduce the structure, union, and enumerated types ❏ To use the type definition statement in programs ❏ To use enumerated types, including anonymous types. ❏ To create and use structures in programs ❏ To be able to use unions in programs ❏ To understand the software engineering concept of coupling and to be able to evaluate coupling between functions. Chapter 12 Chapter 12 Enumerated, Structure, Enumerated, Structure, and Union Types and Union Types
Computer Science: A Structured Programming Approach Using C2 FIGURE 12-1 Derived Types
Computer Science: A Structured Programming Approach Using C The Type Definition (typedef) Before discussing the derived types, let’s discuss a C declaration that applies to all of them—the type definition. A type definition, typedef, gives a name to a data type by creating a new type that can then be used anywhere a type is permitted.
Computer Science: A Structured Programming Approach Using C4 FIGURE 12-2 Type-definition Format
Computer Science: A Structured Programming Approach Using C Enumerated Types The enumerated type is a user-defined type based on the standard integer type. In an enumerated type, each integer value is given an identifier called an enumeration constant. Declaring an Enumerated Type Operations on Enumerated Types Enumeration Type Conversion Initializing Enumerated Constants Anonymous Enumeration: Constants Input/Output Operations Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C6 PROGRAM 12-1Print Cable TV Stations
Computer Science: A Structured Programming Approach Using C7 PROGRAM 12-1Print Cable TV Stations
Computer Science: A Structured Programming Approach Using C8 Don’t be confused about strings and enumerated types. “Jan” is a string made of three characters; JAN as defined in the previous code example, is an enumerated type (identifier) which has the integer value 1. Note
Computer Science: A Structured Programming Approach Using C Structure A structure is a collection of related elements, possibly of different types, having a single name. Structure Type Declaration Initialization Accessing Structures Operations on Structures Complex Structures Structures and Functions Topics discussed in this section:
Computer Science: A Structured Programming Approach Using C10 FIGURE 12-3 Structure Examples
Computer Science: A Structured Programming Approach Using C11 Elements in a structure can be of the same or different types. However, all elements in the structure should be logically related. Note
Computer Science: A Structured Programming Approach Using C12 FIGURE 12-4 Tagged Structure Format
Computer Science: A Structured Programming Approach Using C13 FIGURE 12-5 Structure Declaration with typedef
Computer Science: A Structured Programming Approach Using C14 FIGURE 12-6 Structure Declaration Format and Example
Computer Science: A Structured Programming Approach Using C15 FIGURE 12-7 Initializing Structures
Computer Science: A Structured Programming Approach Using C16 FIGURE 12-8 Structure Direct Selection Operator
Computer Science: A Structured Programming Approach Using C17 PROGRAM 12-2Multiply Fractions
Computer Science: A Structured Programming Approach Using C18 PROGRAM 12-2Multiply Fractions
Computer Science: A Structured Programming Approach Using C19 FIGURE 12-9 Copying a Structure
Computer Science: A Structured Programming Approach Using C20 FIGURE Pointers to Structures
Computer Science: A Structured Programming Approach Using C21 (*pointerName).fieldName pointerName - >fieldName. Note
Computer Science: A Structured Programming Approach Using C22 FIGURE Interpretation of Invalid Pointer Use
Computer Science: A Structured Programming Approach Using C23 FIGURE Indirect Selection Operator
Computer Science: A Structured Programming Approach Using C24 PROGRAM 12-3Clock Simulation with Pointers
Computer Science: A Structured Programming Approach Using C25 PROGRAM 12-3Clock Simulation with Pointers
Computer Science: A Structured Programming Approach Using C26 PROGRAM 12-3Clock Simulation with Pointers
Computer Science: A Structured Programming Approach Using C27 PROGRAM 12-3Clock Simulation with Pointers
Computer Science: A Structured Programming Approach Using C28 FIGURE Nested Structure
Computer Science: A Structured Programming Approach Using C29 FIGURE Arrays in Structures
Computer Science: A Structured Programming Approach Using C30 FIGURE Pointers in Structures
Computer Science: A Structured Programming Approach Using C31 FIGURE Array of Structures
Computer Science: A Structured Programming Approach Using C32 PROGRAM 12-4Sort Array of Student Structures
Computer Science: A Structured Programming Approach Using C33 PROGRAM 12-4Sort Array of Student Structures
Computer Science: A Structured Programming Approach Using C34 PROGRAM 12-4Sort Array of Student Structures
Computer Science: A Structured Programming Approach Using C35 PROGRAM 12-4Sort Array of Student Structures
Computer Science: A Structured Programming Approach Using C36 PROGRAM 12-4Sort Array of Student Structures
Computer Science: A Structured Programming Approach Using C37 PROGRAM 12-4Sort Array of Student Structures
Computer Science: A Structured Programming Approach Using C38 FIGURE Passing Structure Members to Functions
Computer Science: A Structured Programming Approach Using C39 FIGURE Passing and returning structures
Computer Science: A Structured Programming Approach Using C40 PROGRAM 12-5Passing and Returning Structures
Computer Science: A Structured Programming Approach Using C41 PROGRAM 12-5Passing and Returning Structures
Computer Science: A Structured Programming Approach Using C42 PROGRAM 12-5Passing and Returning Structures
Computer Science: A Structured Programming Approach Using C43 PROGRAM 12-5Passing and Returning Structures
Computer Science: A Structured Programming Approach Using C44 PROGRAM 12-5Passing and Returning Structures
Computer Science: A Structured Programming Approach Using C45 FIGURE Passing Structures Through Pointers
Computer Science: A Structured Programming Approach Using C46 PROGRAM 12-6Passing Structures through Pointers
Computer Science: A Structured Programming Approach Using C47 PROGRAM 12-6Passing Structures through Pointers
Computer Science: A Structured Programming Approach Using C48 PROGRAM 12-6Passing Structures through Pointers
Computer Science: A Structured Programming Approach Using C49 PROGRAM 12-6Passing Structures through Pointers