目录
1 空指针和野指针
2 const 修饰符
2.1 指针常量
2.2 常量指针
2.3 常量指针常量
1 空指针和野指针
1)空指针
不能对空指针进行解引用
2) 野指针
这个地址里并不知道有什么,谁也不知道就叫做野指针
2 const 修饰符
2.1 指针常量
#include <iostream>using namespace std;
/*
const 和 指针的关系
*/
int main()
{int a = 1;int b = 2;//指针常量//指针的值是一个常量(从左往右读,指针常量)int* const p = &a; //p的值是不能改变的//p=&b; 错误*p = 6;cout << "a = " << a << endl;return 0;
}
2.2 常量指针
#include <iostream>using namespace std;
/*
const 和 指针的关系
*/
int main()
{int a = 1;int b = 2;//常量指针//指向常量的指针const int* p = &a;// *p = 6; 错误p = &b;cout << "p = " << *p << endl;return 0;
}
2.3 常量指针常量
#include <iostream>using namespace std;int main()
{int a = 1;int b = 2;//常量指针常量const int* const p = &a;//*p = 6; 错误//p = &b; 错误return 0;
}
指针常量 | type* const | 指针值是一个常量 | 指针无法被赋值 |
常量指针 | const type* | 指向常量的指针 | 指针解引用后无法被赋值 |
常量指针常量 | const type* const | 指针值和指向指针的值都是常量 | 指针和解引用都无法被赋值 |