# 23.5: Practice 22 Pointers

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$ $$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\kernel}{\mathrm{null}\,}$$ $$\newcommand{\range}{\mathrm{range}\,}$$ $$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$ $$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$ $$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$ $$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\kernel}{\mathrm{null}\,}$$ $$\newcommand{\range}{\mathrm{range}\,}$$ $$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$ $$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$ $$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$ $$\newcommand{\Span}{\mathrm{span}}$$$$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

## Learning Objectives

With 100% accuracy during a: memory building activity, exercises, lab assignment, problems, or timed quiz/exam; the student is expected to:

Define the terms on the definitions as listed in the modules associated with this chapter.

Acquire a general understanding of the pointer data type, the address and indirection operators, the concept of dereferencing.

Given pseudocode, write the C++ code for a program that uses reference variables.

## Exercises

Questions
1. The address operator is the @ symbol
2. Passing by reference should be used when there is only one item to be modified.
3. Variables of pointer data type are defined using an asterisk.
4. Using pointers with the indirection operator can be used instead of passing variables
by reference.
5. There are two kinds of dereferencing - one with the indirection operator and the other with
the index operator.
1. False
2. False
3. True
4. True
5. True


## Lab Assignment

#### Creating a Folder or Sub-Folder for Chapter 22 Files

Depending on your compiler/IDE, you should decide where to download and store source code files for processing. Prudence dictates that you create these folders as needed prior to downloading source code files. A suggested sub-folder for the Bloodshed Dev-C++ 5 compiler/IDE might be named:

• Chapter_22 within the folder named: Cpp_Source_Code_Files

If you have not done so, please create the folder(s) and/or sub-folder(s) as appropriate.

Download and store the following file(s) to your storage device in the appropriate folder(s). You may need to right click on the link and select "Save Target As" in order to download the file.

#### Detailed Lab Instructions

Read and follow the directions below carefully, and perform the steps in the order listed.

• Create a source code file from the Lab_22_Pseudocode.txt file. Name it: Lab_22.cpp
• Build (compile and run) your program.
• After you have successfully written this program, if you are taking this course for college credit, follow the instructions from your professor/instructor for submitting it for grading.

## Problems

#### Problem 22a - Instructions

Give a general explanation of the pointer data type and the use of addresses and dereferencing. Include both the indirection operator and the index operator in your discussion.

This page titled 23.5: Practice 22 Pointers is shared under a CC BY license and was authored, remixed, and/or curated by Kenneth Leroy Busbee (OpenStax CNX) .