7.4.1指针的好处
1.可以动态分配内存。
2.对多个相似变量进行一般访问。
3.为动态数据结构,尤其是树和链表提供支持
4.遍历数组,解析字符串。
5.高效的按引用复制数组和结构。
7.4.2 引用还是指针
1.指针本质是保存地址的变量,指针则是“从一而终”的别名,且不能为空;
2.作为参数传递,二者不同,指针本质上还是传值,引用在该函数内存空间存放的是实参的地址。
3.引用不需要*
4.sizeof结果不一样,指针为4,引用为被引用类型大小。
5.对动态分配的内存使用指针。
7.4.3指针和数组
1.修改内容不同,比如char* p=“acdf”;p[2]='r';是错误的,指向常量。int *p=1是错误的。
2.所占字节不同,对于sizeof。
注意:数组名作为参数传入函数后退化为指针,再用sizeof结果为4
数组指针,指向数组的指针 int(*a)[4];
指针不可以进行>,>=,<,<=运算,只能!=和==。
注意:野指针,空指针