指向常量的指针、常指针、指向常量的常指针
指向常量的指针、常指针、指向常量的常指针
#include <iostream> using namespace std; int main() { // 指向常量的指针 //const int num = 78; //const int* point = # //cout << *point << endl; //// 指向常量的指针 point 指向 num 的地址。 //// * point 不能改变 但是 point 可以改变 ///*cout << ++(*point) << endl;*/ int num = 78, num2 = 45; const int* point = # cout << num << "num地址:" << &num << endl; cout << *point << "point地址:" << point << endl; // 指向常量的指针 point 指向 num 的地址。 // * point 不能改变 但是 point 可以改变 /*cout << ++(*point) << endl;*/ point = &num2; cout << num << "num地址:" << &num << endl; cout << *point << "point地址:" << point << endl; // 常指针 即 常量指针 // 指针本身就是常量,编译器要求给他一个初始值 int x = 5; int* const p = &x; int y = 119; // p 不能改变 但是 *p 可以改变 //p = &y; cout << x << "x地址:" << &x << endl; cout << *p << "p地址:"<< p <<endl; *p = 8; cout << x << "x地址:" << &x << endl; cout << *p << "p地址:" << p << endl; //指向常量的常指针 // p1 不能改变 * p1 不能改变 int x1 = 2; const int* const p1 = &x1; /* * * * 指向常量的指针 * const int* point = # //* point 不能改变 但是 point 可以改变 * 常指针 即 常量指针 * int* const point = &x; // point 不能改变 但是 *point 可以改变 * * //指向常量的常指针 const int* const point = &x1; 分解一下: const (int* const point) = &x1; (int* const point) // point 不能改变 * point 可以改变 const (int* const point) // point 不能改变 * point 不能改变 */ return 0; }