33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
# Lecture 4 --- Pointers, Arrays, & Pointer Arithmetic
|
||
|
||
- Pointers store memory addresses.
|
||
- They can be used to access the values stored at their stored memory address.
|
||
- They can be incremented, decremented, added, and subtracted.
|
||
- Dynamic memory is accessed through pointers.
|
||
- Pointers are also the primitive mechanism underlying vector iterators, which we have used with std::sort and
|
||
will use more extensively throughout the semester.
|
||
|
||
## 4.1 Pointer Example
|
||
|
||
- Consider the following code segment:
|
||
|
||
```cpp
|
||
float x = 15.5;
|
||
float *p; /* equiv: float* p; or float * p; */
|
||
p = &x;
|
||
*p = 72;
|
||
if ( x > 20 )
|
||
cout << "Bigger\n";
|
||
else
|
||
cout << "Smaller\n";
|
||
```
|
||
|
||
The output is Bigger
|
||
because x == 72.0. What’s going on?
|
||
|
||
## 4.2 Exercises
|
||
|
||
- [Leetcode problem 905: Sort Array By Parity](https://leetcode.com/problems/sort-array-by-parity/). Solution: [p905_sortarraybyparity.cpp](../../leetcode/p905_sortarraybyparity.cpp)
|
||
- [Leetcode problem 977: Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/). Solution: [p977_sortedsquare.cpp](../../leetcode/p977_sortedsquare.cpp)
|
||
- [Leetcode problem 1051: Height Checker](https://leetcode.com/problems/height-checker/). Solution: [p1051_heightchecker.cpp](../../leetcode/p1051_heightchecker.cpp)
|