C++初学之 5.常量指针和指针常量的理解
#include <iostream> using namespace std; void main() { char ch1='a',ch2='b'; //常量指针,强调常量值,一旦指针被赋值,则不能通过指针修改数值(不可改值,但可换成其他变量地址) const char *p1=&ch1; //*p1='p';//出错语句,通过p1改变数值会出错 p1=&ch2;//变数值出错,变地址不出错(应用方向:只读模式,如:可看多个空间,但不可改任何空间内容) cout<<*p1<<endl; //指针常量,强调地址,一旦指针被赋变量地址,则不能再给指针赋新的变量地址(不可换成其他变量地址,但可改值) char * const p2=&ch1; cout<<*p2<<endl; //*p2=&ch2;//出错语句,改变其他变量地址会出错 *p2='k';//变地址出错,变数值不出错(应用方向:修改内容,如自己可在自己空间(地址)写文章,但不能去别人空间修改文章) cout<<ch1<<endl;; }