cps120: introduction to computer science data structures

13
CPS120: Introduction to Computer Science Data Structures

Upload: elmer-turner

Post on 18-Jan-2018

216 views

Category:

Documents


0 download

DESCRIPTION

Using Pointers Pointers must be initialized e.g. iptr =&I; This reads iptr is assigned the address of i

TRANSCRIPT

Page 1: CPS120: Introduction to Computer Science Data Structures

CPS120: Introduction to Computer Science

Data Structures

Page 2: CPS120: Introduction to Computer Science Data Structures

Pointer Use in C++.

A pointer is a variable or constant that holds a memory address

a) Hexadecimal numbers are used for representing memory locations

216793216794 216801 iptr…216801 3 i216802

Page 3: CPS120: Introduction to Computer Science Data Structures

Using Pointers

Pointers must be initializede.g. iptr =&I;

This reads iptr is assigned the address of i

Page 4: CPS120: Introduction to Computer Science Data Structures

Intializing Pointers

Declare pointers before use, as with other variables. Each variable being declared as a pointer must be preceded by an asterisk (*). Initialize pointers before use to a 0, NULL or an address to prevent unexpected results

Page 5: CPS120: Introduction to Computer Science Data Structures

Pointer Operators

& is the address operator which returns the address of its operand * is the indirection operator or dereferencing operator and returns the value to which the operand (pointer) points.

Page 6: CPS120: Introduction to Computer Science Data Structures

Using enum

enum allows you to create your own simple data types for special purposes

Create a typeGive it a nameSpecify values that are acceptable

enum sizes {small, medium, large, jumbo};The compiler assigns an integer to each enum item

Page 7: CPS120: Introduction to Computer Science Data Structures

typedef

typedef gives a new name to an existing data type

typedef float real;

Confusing to the reader, should be used sparingly

Page 8: CPS120: Introduction to Computer Science Data Structures

StructuresStructures group variables together in order to make one's programming task more efficient.

Any combination of variables can be combined into one structure. This is a useful and efficient way to store data.

struct Student { string socSecNum; string lastName; string firstName; int pointsEarned; double gpa; };

Page 9: CPS120: Introduction to Computer Science Data Structures

Using Structures

Each of the different variables are called members of the structure

Structures allow us to keep related data referring to individual members together

Strings, integer, and floating-point variables may be grouped together into one structure.

In effect, we have created our own customized data type.

The semicolon after the closing curly brace is required

Page 10: CPS120: Introduction to Computer Science Data Structures

Using the new data structure

The structure definition should be placed above the main function of a program but below the compiler directives Declare an actual variable of this programmer-created data type within a function (such as main) in order to make use of this structureDone with a declaration statement likeStudent freshmen;This reates a variable called freshmen of the data type Student

Page 11: CPS120: Introduction to Computer Science Data Structures

Assigning values to the structure

To assign a grade point average (GPA) of 3.4 to the gpa member of the variable freshmen, use the statement:

freshmen.gpa = 3.4; The period (.) that is used between the variable name freshmen and the member gpa is called the dot operator.

The dot operator simply us to reference individual members of a structure

Page 12: CPS120: Introduction to Computer Science Data Structures

Nested StructuresYou can use a previously defined structure as a member of another structureAddress is nested inside of the Customer structure. Since Address is used within Customer, the structure definition for Address must be placed above Customer in order to avoid compile errors struct Address{ string street; string city; string state; int zip;}; struct Customer{ string name; string phone; Address homeAddress; Address businessAddress; };

Page 13: CPS120: Introduction to Computer Science Data Structures

Classes

The definition of an object is know as a classIt is similar to using basic data structures in C++

When you declare an object, you are said to have instantiated it (given it instances)Objects are members of a class

Paul Millis, George Bush and George Washington being members of the human being class

The design of a class is as important as its implementation