Chapter 4: Structural data type
1
Lecturer: PhD. DO Thi Ngoc Diep
SCHOOL OF ELECTRICAL AND ELECTRONIC ENGINEERING
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
2
Content
4.1. Enum
4.2. Struct
4.3. Union and Bit Fields
3
4. 1. Enumeration type
Enumeration is a user defined datatype in C
whose range is a number of certain values that can be listed
Definition of an enumeration
Syntax 1: enum <type_name> { <list of values> };
enum Animal { Cat, Dog, Tiger, Lion };
enum dayInWeek {Mo, Tu, We, Th, Fr, Sa, Su};
enum gender {M, F};
Syntax 2: typedef enum {<list of values> } <type_name>;
typedef enum {True, False} boolean;
4
4. 1. Enumeration type
Enumeration variables
Declaration and usage
enum dayInWeek {Mo, Tu, We, Th, Fr, Sa, Su};
enum dayInWeek dv;
dv = We;
enum dayInWeek {Mo, Tu, We, Th, Fr, Sa, Su} dv;
dv = We;
enum dayInWeek {Mo, Tu, We, Th, Fr, Sa, Su} dv;
dv = We;
typedef enum {True, False} boolean;
boolean dv;
dv = True;
5
4. 1. Enumeration type
Enumeration variables
Corresponding Values
by default: integer constants: 0, 1, 2, ….
can be explicitly set when defining.
typedef enum {True, False} boolean;
typedef enum {True=1, False=0} boolean;
enum Colors {BLUE=1,RED=3,GREEN=2} c;