Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scis.regis.edu ● CS-362: Data Structures Week 6 Part 2 Dr. Jesús Borrego 1.

Similar presentations


Presentation on theme: "Scis.regis.edu ● CS-362: Data Structures Week 6 Part 2 Dr. Jesús Borrego 1."— Presentation transcript:

1 scis.regis.edu ● scis@regis.edu CS-362: Data Structures Week 6 Part 2 Dr. Jesús Borrego 1

2 Topics Dynamic Data ▫Pointers ▫Address Pointers to different data types Sample programs 2

3 Pointer Data Type/Pointer Variables The type is integer The Name of the integer is A The address is 10280 The value stored in A is 325 int A = 325;10280 A 3 325

4 More Pointers 4

5 Running the program 5

6 6

7 PointerAndAddress 7

8 Declaring Pointer Variables Syntax: Examples: int *p; char *ch; These statements are equivalent: int *p; 8

9 Pointer Intro Program (I) 9

10 Pointer Intro Program (II) 10

11 Running the program 11

12 Pointer Intro Program (I) 12

13 Pointer Intro Program (II) 13

14 Pointer Intro Program (II) 14

15 MoreStruct 15

16 Running the program 16

17 MoreBeatles (I) 17

18 MoreBeatles (II) 18

19 MoreBeatles (III) 19

20 Running the program 20

21 PointerSwap 21

22 Running the Program 22

23 What happened? The swap did not work? The before and after are the same Need to make sure we get the values back to the calling program It is calling by Value How do we fix it? 23

24 Address of Operator ( & ) The ampersand, &, is called the address of operator The address of operator is a unary operator that returns the address of its operand 24

25 PointerSwap2 25

26 PointerSwap3 26

27 Running the program (I) 27

28 Running the program (II) 28

29 Dynamic Arrays Dynamic array: array created during the execution of a program Example: int *p; p = new int[10]; *p = 25; p++; //to point to next array component *p = 35; 29 stores 25 into the first memory location stores 35 into the second memory location

30 Dynamic Arrays (cont'd.) C++ allows us to use array notation to access these memory locations The statements: p[0] = 25; p[1] = 35; store 25 and 35 into the first and second array components, respectively 30

31 Dynamic Arrays (cont'd.) 31

32 Dynamic Arrays (cont'd.) 32

33 Dynamic Arrays (cont'd.) The value of list ( 1000 ) is constant – Cannot be altered during program execution – The increment and decrement operations cannot be applied to list If p is a pointer variable of type int, then: p = list; copies the value of list, the base address of the array, into p – We can perform ++ and -- operations on p An array name is a constant pointer 33

34 34 Dynamic Arrays (cont'd.)

35 Functions and Pointers A pointer variable can be passed as a parameter either by value or by reference To make a pointer a reference parameter in a function heading, use & : void pointerParameters(int* &p, double *q) {... } 35

36 Pointers and Function Return Values A function can return a value of type pointer: int* testExp(...) {... } 36

37 Dynamic Two-Dimensional Arrays You can create dynamic multidimensional arrays Examples: 37 declares board to be an array of four pointers wherein each pointer is of type int creates the rows of board declares board to be a pointer to a pointer

38 PointerArray 38

39 PointerArray (Cont’d) 39

40 Running the program 40

41 PrintArray2D 41

42 PrintArray2D (Cont’d) 42

43 PrintArray (Cont’d) 43

44 Running the Program 44

45 Resources Can search the internet for tutorials on pointers On YouTube: http://www.youtube.com/watch?v=eFWCQexfa eghttp://www.youtube.com/watch?v=eFWCQexfa eg From Google, search for ▫“C++ pointer tutorial“ 45


Download ppt "Scis.regis.edu ● CS-362: Data Structures Week 6 Part 2 Dr. Jesús Borrego 1."

Similar presentations


Ads by Google