目录
一、声明定义
指向常量的指针变量——const int* p
指向变量的指针常量——int* const p
指向常量的指针常量——const int* const p
二、解析说明
先找到*,然后看*的两边,右边是对指针p所指向的地址的限定,左边是对p所指向的地址中的内容的限定。
1.const int *p
*的右边没有限定成分,表明p就是普通指针,p的内容(即它指向的地址)是可以改变的;*的左边是const int,表明p指向的地址中内容是一个const的int,不能通过p来修改这个int,因为它是const的。(例如:*p = 50,是不可以的)
2.int* const p
*的右边是const,表明p自身是const,不能对p的内容进行修改(例如++p;是不可以的),*的左边是int,即p指向的地址中的内容是普通的int,我们可以通过p来修改它(例如*p=100;是可以的)。
3.const int* const p
*的右边是const,表明指针p自身是const的,*的左边是const int,表明p指向的int也是const的。即这种情况下,p自身不能修改,同时也不能通过p修改它所指向的地址中那个int的变量的值。