Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the relationship between arrays and pointers ❏ To understand the.

Similar presentations


Presentation on theme: "Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the relationship between arrays and pointers ❏ To understand the."— Presentation transcript:

1 Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the relationship between arrays and pointers ❏ To understand the design and concepts behind pointer arithmetic ❏ To write programs using arrays and pointer arithmetic ❏ To better understand the design behind passing arrays to functions ❏ To understand the C implementation of dynamic memory ❏ To write programs using static and dynamic memory allocation ❏ To understand and implement ragged arrays (arrays of pointers) Chapter 10 Chapter 10 Pointer Applications Pointer Applications

2 Computer Science: A Structured Programming Approach Using C2 10-1 Arrays and Pointers The name of an array is a pointer constant to the first element. Because the array’s name is a pointer constant, its value cannot be changed. Since the array name is a pointer constant to the first element, the address of the first element and the name of the array both represent the same location in memory.

3 Computer Science: A Structured Programming Approach Using C3 FIGURE 10-1 Pointers to Arrays

4 Computer Science: A Structured Programming Approach Using C4 same a &a[0] a is a pointer only to the first element—not the whole array. Note

5 Computer Science: A Structured Programming Approach Using C5 The name of an array is a pointer constant; it cannot be used as an lvalue. Note

6 Computer Science: A Structured Programming Approach Using C6 FIGURE 10-2 Dereference of Array Name

7 Computer Science: A Structured Programming Approach Using C7 FIGURE 10-3 Array Names as Pointers

8 Computer Science: A Structured Programming Approach Using C8 FIGURE 10-4 Multiple Array Pointers

9 Computer Science: A Structured Programming Approach Using C9 To access an array, any pointer to the first element can be used instead of the name of the array. Note

10 Computer Science: A Structured Programming Approach Using C10 10-2 Pointer Arithmetic and Arrays Besides indexing, programmers use another powerful method of moving through an array: pointer arithmetic. Pointer arithmetic offers a restricted set of arithmetic operators for manipulating the addresses in pointers. Pointers and One-Dimensional Arrays Arithmetic Operations on Pointers Using Pointer Arithmetic Pointers and Two-Dimensional Arrays Topics discussed in this section:

11 Computer Science: A Structured Programming Approach Using C11 Given pointer, p, p ± n is a pointer to the value n elements away. Note

12 Computer Science: A Structured Programming Approach Using C12 FIGURE 10-5 Pointer Arithmetic

13 Computer Science: A Structured Programming Approach Using C13 Note a + n * (sizeof (one element)) a + n 

14 Computer Science: A Structured Programming Approach Using C14 FIGURE 10-6 Pointer Arithmetic and Different Types

15 Computer Science: A Structured Programming Approach Using C15 FIGURE 10-7 Dereferencing Array Pointers

16 Computer Science: A Structured Programming Approach Using C16 The following expressions are identical. *(a + n) and a[n] Note

17 Computer Science: A Structured Programming Approach Using C17 Table 10-1Pointers and Relational Operators

18 Computer Science: A Structured Programming Approach Using C18 FIGURE 10-8 (Part I) Find Smallest

19 Computer Science: A Structured Programming Approach Using C19 FIGURE 10-8 (Part II) Find Smallest

20 Computer Science: A Structured Programming Approach Using C20 PROGRAM 10-1Print Array with Pointers

21 Computer Science: A Structured Programming Approach Using C21 PROGRAM 10-1Print Array with Pointers

22 Computer Science: A Structured Programming Approach Using C22 PROGRAM 10-2Pointers and the Binary Search

23 Computer Science: A Structured Programming Approach Using C23 PROGRAM 10-2Pointers and the Binary Search

24 Computer Science: A Structured Programming Approach Using C24 FIGURE 10-9 Pointers to Two-dimensional Arrays

25 Computer Science: A Structured Programming Approach Using C25 We recommend index notation for two-dimensional arrays. Note

26 Computer Science: A Structured Programming Approach Using C26 10-3 Passing an Array to a Function Now that we have discovered that the name of an array is actually a pointer to the first element, we can send the array name to a function for processing. When we pass the array, we do not use the address operator. Remember, the array name is a pointer constant, so the name is already the address of the first element in the array.

27 Computer Science: A Structured Programming Approach Using C27 FIGURE 10-10 Variables for Multiply Array Elements By 2

28 Computer Science: A Structured Programming Approach Using C28 PROGRAM 10-3Multiply Array Elements by 2

29 Computer Science: A Structured Programming Approach Using C29 PROGRAM 10-3Multiply Array Elements by 2

30 Computer Science: A Structured Programming Approach Using C30 PROGRAM 10-3Multiply Array Elements by 2

31 Computer Science: A Structured Programming Approach Using C31 PROGRAM 10-3Multiply Array Elements by 2

32 Computer Science: A Structured Programming Approach Using C32


Download ppt "Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the relationship between arrays and pointers ❏ To understand the."

Similar presentations


Ads by Google