一、 为什么要使用指针:
1、跨函数共享变量(输出型参数),可以用引用代替
2、提高传参效率,引用可代替
3、配合字符串,string可代替
4、配合堆内存,继续使用指针
二、指针的运算:
指针变量只有一下运算是有意义的:
指针 + n 前进n个元素
指针 - n 后退n个元素
指针 - 指针 计算出两个指针变量之间相隔了多少个元素,只有类型相同才能相减
三 、指针与const
const int* p;
int const* p; 保护指向的内存不被修改
int* const p; 保护指针变量不被修改(指向不能修改)
const int* const p;
int const* const p; 既保护内存又保护指向不被修改
题目:考察const 关键字
int n = 10;
const int *p1 = &n;//保护所指内存不被修改
int * const p2 = &n;//保证指向不被修改
下列语句是否正确?错的打个叉
*p1 = 20;x
*p2 = 20;√
p1 = NULL;√
p2 = NULL;x