1.指针使用前必须初始化;
2.指针数组与指向数组的指针:
定义示例:①指针数组 int *p[N]
②指向数组的指针 int (*p)[N]
分析:因为“*”与“[]"的优先级相同,都为自右向左结合,”[]"会先与p结合形成数组;
3.“*”与“++”运算
由于++和*同优先级,结合方向自右向左;
*p++等价于*(p++),作用是先得到p指向的变量的值(即*p),然后再使p的值加1;
4.字符串可以直接赋值给指针的原因
例:
char *p=0
p="abcd";
双引号做了3件事:
1.申请了空间(在常量区),存放了字符串
2. 在字符串尾加上了'/0'
3.返回地址
就是 返回的地址 赋值给了 p
参考文章:https://www.cnblogs.com/KingOfFreedom/archive/2012/12/07/2807223.html