0% found this document useful (0 votes)
53 views18 pages

Pointers, Enum, and Structures

This document discusses pointers, enumerations, and structures in C++. It defines pointers as variables that hold memory addresses and explains how to declare and dereference pointers. Enumerations allow creating custom data types, and structures group variables into a new data type. Members within structures can be accessed using the dot operator. Nested structures are also discussed.

Uploaded by

Adrian Calimlim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views18 pages

Pointers, Enum, and Structures

This document discusses pointers, enumerations, and structures in C++. It defines pointers as variables that hold memory addresses and explains how to declare and dereference pointers. Enumerations allow creating custom data types, and structures group variables into a new data type. Members within structures can be accessed using the dot operator. Nested structures are also discussed.

Uploaded by

Adrian Calimlim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

Chapter 11

Pointers, Enum, and Structures


Objectives
 Understand the basics of pointers.
 Declare pointers.
 Use the address-of and dereferencing
operators.
 Use enum.
 Understand what structures are and
how to use them.
What is a Pointer?
 A pointer is a variable or constant that
holds a memory address.
 Think of a pointer as a variable or
constant that points to another variable
or data structure.
 Pointers can be used to work with
multiple variables or advanced arrays.
Declaring Pointers
 Working with pointers requires the use
of two new operators: the
dereferencing operator (*) and the
address-of operator (&).
 Pointers have types just like other
variables.
 The pointer type must match the type
of data you intend to point to.
Example
int main()
{
int i; //declare integer
int *iptr; //declare pointer
iptr = &i; //initialize pointer
i = 3; //initialize i
return 0;
}
Using the * and & Operators
 The dereferencing operator (*) is used for
more than declaring pointers.
 It can also tell the compiler to return the
value in the variable being pointed to, rather
than the address of the variable.
result = *int_ptr;
 The variable result is assigned the value of
the integer pointed to by int_ptr.
Changing Values with *
 The dereferencing operator allows you
to change the value of the variable the
pointer points to.
 For example, the statement below
assigns the value 5 to the integer to
which int_ptr points.
*int_ptr = 5;
Using enum
 The enum keyword allows you to create
your own simple data types for special
purposes in your program.
 To use enum, simply create a type, give
it a name, and tell the compiler what
values your new data type will accept.

enum sizes {small, medium, large, jumbo};


How enum Works
 Internally, the compiler assigns an
integer to each of the items in an enum
list.
 By default, the compiler begins
assigning integers with zero.
 For example, in the sizes type, small =
0, medium = 1, large = 2, and jumbo =
3.
How enum Works
You can choose your own values for use
in an enum list:
enum quantity {Single=1,
Dozen=12, Full_Case=48,
Gross=144};
Using typedef
 Another C++ feature which is related to
enum is typedef.
 You can use typedef to give a new

name to an existing data type.


 For example, you can give the float

data type an alias of real with typedef.


typedef float real;
Structure Basics
 C++ structures allow variables to be grouped
to form a new data type.
 The data elements in a structure are
arranged in a manner that is similar to the
way database programs arrange data.
 C++ allows you to create a record by
grouping the variables and arrays necessary
for the fields into a single structure.
Declaring a Structure
struct inventory_item
{
apstring item_ID;
apstring description;
int quantity_on_hand;
int reorder_point;
double cost;
double retail_price;
};
Declaring a Structure
 Once you have declared a structure, you
must declare an identifier, called a structure
variable, that is of the structure’s type.
 The statement below creates a structure
variable of a structure named
todays_special that is of type
inventory_item.
inventory_item todays_special;
Accessing Members of a Structure
To access a member of the structure,
use the name of the variable, the dot
operator, then the name of the member
you need to access.
todays_special.cost=47.80;
Nested Structures
 A structure can include enumerated
data types and even other structures as
members.
 Accessing the nested structure requires
that two periods be used.
 An example based on Code List 11-10
might look like the following:
current_donor.bp.diastolic = 74;
Summary
 Pointers are variables and constants that hold
memory addresses.
 The dereferencing operator (*) is used to
declare pointers and to access the value in
the variable to which the pointer points.
 The address-of operator (&) returns the
address of a variable, rather than the value in
the variable.
Summary
 The enum keyword allows you to create
custom data types.
 Structures are very useful data structures that
allow variables and objects to be grouped to
form a new data type.
 Structures are very similar to classes.
 The variables within a structure are called
members.

You might also like