指针相关笔记

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

原文地址:https://www.cnblogs.com/MashiroOvO/p/12675832.html