Professional Documents
Culture Documents
Programming and
Algorithms
Lecture 8 (13/11/2019)
1
C Structures,
Unions,
Enumerations
Objectives
Create and use structures, unions and enumerations.
Pass structures to functions by value and by reference.
Use typedefs to create aliases for existing type names.
Structures
Structures – sometimes referred as ‐
derived datatype are collections
of related variables under one name.
Structures may contain variables of many different data types – in
contrast to arrays, which contain only elements of the same data
type.
Structures are commonly used to define records to be stored in files
and it also facilitate the formation of more complex data structures
such as linked lists, queues, stacks and trees.
Structure Definitions
Structures are
derived datatype
as they are constructed
using objects of other
types.
structure identifier
structure members
not allowed must chnage to pointer
because pointer only contain address of data
Structure Definitions (Cont.)
Defining variables of Structure Types and
Initializing Structures
Structure definitions do not reserve any space in memory, it is
merely to create a new data type that’s used to define variables.
OR
OR
OR
initializing; if empty {'' ", " " }
Operations that can be performed on
Structures
The only valid operations that may be performed on structures
are:
I. Assigning structure variables to structure variables of the
same type
II. Taking the address (&) of a structure variables
III. Assessing the members of structure variable
IV. Using sizeof operator to determine the size of a structure
variable
== and != MAY NOT be used as the structure members are not
necessarily stored in consecutive bytes of memory
Accessing Structure Members
Two operators are used to access members of structures:
???
Union
Enumeration Constants make more readable
An enumeration is a set of integer enumeration constants
represented by identifiers.
The identifiers in an enumeration must be unique.
can pass array of structure to function,
pass-by-ref
Enumeration
Wrap up –
What have you learnt today?
Thanks!
Any questions?
You can find me at:
chew.sze‐ker@nottingham.edu.my
Credits
Codes/Table courtesy from C How to Program, Deitel & Deitel
Presentation template designed by powerpointify.com
Photographs by unsplash.com
Planets and stars by freepik.com