关于输入地址
疑惑:既然这里的p1 p2代表ab的地址,就是系统随机的一串数字,为啥针对p1p2的输入,输入的就是内容值,而不是输入改变他的地址值
解答:scanf需要传入的参数本来就是地址 如scanf("%d%d", &a, &b); 输入的东西会被我们传入的地址储存。
指针是一个地址,而指针变量是存放地址的变量,注意区分
关于 *++p, ++*p的问题
指向数组的指针
- 数组名是代表该数组的首地址
- 是个地址常量,不能再更改
- 所以数组名不能放在赋值号的左边,不能放在加加减减的前后,如a++,无法实现。
- 二维数组的数组名特点同一维数组一样,不同的是其数组名为行指针,数组名加一,会跳到下一行,并且不能用列指针变量与其赋值。
- [ ] 实际上是变址