一句话总结:
就近原则、优先向左
const靠近的数据类型或指针符号是常量。如果const的两侧都有类型名或指针,优先修饰左侧的类型名或指针。
int * —— int 类型的指针
int const * —— const 修饰指针指向的 int 为常量
int * const —— const 修饰指针为常量
int const * const —— 指针指向的 int 和指针均为常量
const int * == int const * —— const 修饰 int 为常量
const int * const == int const * const —— const 修饰 int 和 int 指针均为常量
int ** —— 指向指向 int 的指针的指针
int ** const —— 二级指针是常量,指向的一级 int 指针和一级指针指向的 int 均为变量
int * const * —— 仅一级指针是常量
int const ** —— 仅一级指针指向的 int 是常量
int * const * const —— int 及其一二级指针均为常量