Skip to content

Commit a585948

Browse files
committed
update
1 parent 97ac469 commit a585948

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

C入门/2.指针(二).md

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,45 @@
11
指针(二)
22
===
33

4-
指针的本质是一个有类型的地址,类型决定了从这个地址开始的寻址能力。
4+
指针的本质是一个有类型的地址(指向了最低位的地址),是一个有类型的常量。用以存放指针的量,我们叫做指针变量。
5+
指针的类型决定了该指针的寻址能力,即从指针所代表的地址处的寻址范围。
6+
57

68
```c
79
#include <stdio.h>
810

9-
int main() {
11+
12+
int main(int argc, const char * argv[]) {
1013
char a = 1;
1114
short b = 2;
15+
int c = 10;
16+
double d = 123.45;
17+
18+
printf("&a = %p \n", &a);
19+
printf("&b = %p \n", &b);
20+
printf("&c = %p \n", &c);
21+
printf("&d = %p \n", &d);
22+
23+
// 如果没有类型的强转是不行的
24+
printf("%d\n", *((char *)0x7ff7bfeff29f));
25+
printf("%d\n", *((short *)0x7ff7bfeff29c));
26+
printf("%d\n", *((int *)0x7ff7bfeff298));
27+
printf("%f\n", *((double *)0x7ff7bfeff290));
28+
29+
return 0;
1230
}
13-
1431
```
15-
32+
结果:
33+
```
34+
&a = 0x7ff7bfeff29f
35+
&b = 0x7ff7bfeff29c
36+
&c = 0x7ff7bfeff298
37+
&d = 0x7ff7bfeff290
38+
1
39+
2
40+
10
41+
123.450000
42+
```
1643
1744
## 为什么要有指针
1845

0 commit comments

Comments
 (0)