const int*和int* const

来源:互联网 发布:mac 终端退出编辑 编辑:程序博客网 时间:2024/05/23 15:16
    const int* p2 = &n;     // 底层const,可以改变指针地址,不能改变指针指向的值
    intconst p3 = &n;     // 顶层const,可以改变指针指向的值,不能改变指针地址

const int a; int const a; 这两个写法是等同的,表示a是一个int常量。const int *a; 表示a是一个指针,可以任意指向int常量或者int变量,它总是把它所指向的目标当作一个int常量。也可以写成int const* a;含义相同。int * const a; 表示a是一个指针常量,初始化的时候必须固定指向一个int变量,之后就不能再指向别的地方了。int const * a const;这个写法没有,倒是可以写成int const * const a;表示a是一个指针常量,初始化的时候必须固定指向一个int常量或者int变量,之后就不能再指向别的地方了,它总是把它所指向的目标当作一个int常量。也可以写成const int* const a;含义相同。

const就近原则
0 0
原创粉丝点击