This is CS50
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| | | | | | | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| | | | | | | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | A | B | C | D | E | F |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
| | | | | | | |
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 1 2 3 4 5 6 7 8 9 A B C D E F
base-16
hexadecimal
11111111
22
21
20
25
24
23
27
26
11111111
4
2
1
32
16
8
128
64
11111111
4
2
1
32
16
8
128
64
128 × 1 + 64 × 1 + 32 × 1 + 16 × 1 + 8 × 1 + 4 × 1 + 2 × 1 + 1 × 1
11111111
4
2
1
32
16
8
128
64
255
255
102
101
100
255
100
10
1
# #
161
160
# #
16
1
00
16
1
01
16
1
02
16
1
03
16
1
04
16
1
05
16
1
06
16
1
07
16
1
08
16
1
09
16
1
0A
16
1
0B
16
1
0C
16
1
0D
16
1
0E
16
1
0F
16
1
10
16
1
16
1
FF
16
1
FF
16
1
16 × F
1 × F
+
FF
16
1
16 × 15
1 × 15
+
FF
16
1
240
15
+
FF
16
1
255
11111111
4
2
1
32
16
8
128
64
255
11111111
1111 1111
F F
RGB
| | |
72 | 73 | 33 |
48 | 49 | 21 |
0x48
| 0x49
| 0x21
|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | A | B | C | D | E | F |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
| | | | | | | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | A | B | C | D | E | F |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F |
| | | | | | | |
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 |
0x8 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF |
0x10 | 0x11 | 0x12 | 0x13 | 0x14 | 0x15 | 0x16 | 0x17 |
0x18 | 0x19 | 0x1A | 0x1B | 0x1C | 0x1D | 0x1E | 0x1F |
| | | | | | | |
int n = 50;
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | 50 n | |||
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | 50 0x12345678 | |||
| | | | | | | |
&
*
pointers
int n = 50;
int *p = &n;
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | 50 n | |||
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | 50 0x123 | |||
| | | | | | | |
| | | | | | | |
0x123 p | |||||||
| | | | | | | |
| | | | 50 0x123 | |||
| | | | | | | |
| | | | | | | |
0x123 p | |||||||
| | | | | | | |
| | | | 50 0x123 | |||
| | | | | | | |
| | | | | | | |
p | |||||||
| | | | | | | |
| | | | 50 0x123 | |||
| | | | | | | |
string
string s = "HI!";
| | | | | | | |
| |||||||
| | | | | | | |
| | | H | I | ! | \0 | |
| | | | | | | |
| | | | | | | |
| |||||||
| | | | | | | |
| | | H s[0] | I s[1] | ! s[2] | \0 s[3] | |
| | | | | | | |
| | | | | | | |
| |||||||
| | | | | | | |
| | | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | |
| | | | | | | |
| | | | | | | |
0x123 s | |||||||
| | | | | | | |
| | | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | |
| | | | | | | |
| | | | | | | |
s | |||||||
| | | | | | | |
| | | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | 0x127 |
| | | | | | | |
| | | | | | | |
s | |||||||
| | | | | | | |
| | | E 0x123 | M 0x124 | M 0x125 | \0 0x126 | 0x127 |
| | | | | | | |
| | | | | | | |
s | |||||||
| | | | | | | |
| | | E 0x123 | M 0x124 | A 0x125 | 00000000 0x126 | 0x127 |
| | | | | | | |
string s = "HI!";
char *s = "HI!";
char *s = "HI!";
typedef struct
{
string name;
string number;
}
person;
typedef struct
{
string name;
string number;
}
person;
typedef char *string;
pointer arithmetic
string
char *
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H | I | ! | \0 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | | | | | H | I | ! | \0 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | | | | | H 0x456 | I 0x457 | ! 0x498 | \0 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | 0x456 t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | | | | | H 0x456 | I 0x457 | ! 0x498 | \0 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | I 0x124 | ! 0x125 | \0 0x126 | | | | | H 0x456 | I 0x457 | ! 0x498 | \0 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
char *
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h | i | ! | \0 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | | | | | | | | | |||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
0x123 s | 0x123 t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | H 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
malloc
free
…
| | | | | | | | | | | | | | | |
s | | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | 0x456 | 0x457 | 0x458 | 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | 0x456 | 0x457 | 0x458 | 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | h 0x456 | 0x457 | 0x458 | 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | h 0x456 | i 0x457 | 0x458 | 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | h 0x456 | i 0x457 | ! 0x458 | 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | h 0x456 | i 0x457 | ! 0x458 | \0 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
s | t | ||||||||||||||
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | h 0x123 | i 0x124 | ! 0x125 | \0 0x126 | | | | | H 0x456 | i 0x457 | ! 0x458 | \0 0x459 | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
valgrind
int main(void)
{
int *x;
int *y;
x = malloc(sizeof(int));
*x = 42;
*y = 13;
y = x;
*y = 13;
}
int main(void)
{
int *x;
int *y;
x = malloc(sizeof(int));
*x = 42;
*y = 13;
y = x;
*y = 13;
}
int main(void)
{
int *x;
int *y;
x = malloc(sizeof(int));
*x = 42;
*y = 13;
y = x;
*y = 13;
}
int main(void)
{
int *x;
int *y;
x = malloc(sizeof(int));
*x = 42;
*y = 13;
y = x;
*y = 13;
}
int main(void)
{
int *x;
int *y;
x = malloc(sizeof(int));
*x = 42;
*y = 13;
y = x;
*y = 13;
}
int main(void)
{
int *x;
int *y;
x = malloc(sizeof(int));
*x = 42;
*y = 13;
y = x;
*y = 13;
}
int main(void)
{
int *x;
int *y;
x = malloc(sizeof(int));
*x = 42;
*y = 13;
y = x;
*y = 13;
}
garbage values
void swap(int a, int b)
{
}
void swap(int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
void swap(int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
↑
stack
machine code
↑
stack
machine code
globals
heap
↓
↑
stack
machine code
globals
heap
↓
↑
stack
machine code
globals
heap
↓
↑
stack
machine code
globals
heap
↓
↑
stack
machine code
globals
heap
↓
↑
stack
↑
stack
void swap(int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
main
main
swap
main
x
y
1
x
2
y
1
x
2
y
swap
a
b
tmp
1
x
2
y
1
a
2
b
tmp
1
x
2
y
int tmp = a;
a = b;
b = tmp;
1
a
2
b
tmp
1
x
2
y
int tmp = a;
a = b;
b = tmp;
1
a
2
b
1
tmp
1
x
2
y
int tmp = a;
a = b;
b = tmp;
2
a
2
b
1
tmp
1
x
2
y
int tmp = a;
a = b;
b = tmp;
2
a
1
b
1
tmp
1
x
2
y
2
a
1
b
1
tmp
1
x
2
y
1
x
2
y
void swap(int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
1
x
2
y
a
b
tmp
1
x
2
y
int tmp = *a;
*a = *b;
*b = tmp;
a
b
tmp
1
x
2
y
int tmp = *a;
*a = *b;
*b = tmp;
a
b
1
tmp
1
x
2
y
int tmp = *a;
*a = *b;
*b = tmp;
a
b
1
tmp
2
x
2
y
int tmp = *a;
*a = *b;
*b = tmp;
a
b
1
tmp
2
x
1
y
a
b
1
tmp
2
x
1
y
2
x
1
y
void swap(int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
machine code
globals
heap
↓
↑
stack
heap
↓
↑
stack
heap overflow
stack overflow
buffer overflow
get_char
get_double
get_float
get_int
get_long
get_string
...
scanf
...
file I/O
JPEG
BMP
This is CS50