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;;
}

 

posted @ 2012-09-24 17:26  LeeKing  阅读(136)  评论(0编辑  收藏  举报