本笔记主要记录常量指针的理解

const int *p;    

int const *p;

上面p被*修饰,表明它是个指针变量,int和const都是修饰这个指针变量的所指向的内容的,所以不分前后顺序,是一回事。

void main()
{
    int a = 0;
    int b = 20;

    //下面这两种定义常量指针的方法都合法。
    const int *p0;    //常量指针,是个变量,*是修饰p的,而const和 int都是修饰p所指向的内容的
    int const *p1;

    p0 = &a;
    p1 = &b;
    cout<<"p0 指向的内容"<<*p0<<endl;
    cout<<"p1 指向的内容"<<*p1<<endl;

    cout<<"hello..."<<endl;
    system("pause");
    return;
}

运行上面的代码:

int const *p和const int *p;的区别_赋值

上面的代码可以证明,这两种定义方法都是合法的。

同时也证明const 的意思不是说p0 p1本身是不可变的,因为  p0 = &a;p1 = &b;是可以赋值的。

int  和const修饰的是指针指向的内容。