const int * 与int const * 与int * const的区别

来源:互联网 发布:手机版淘宝店招怎么装 编辑:程序博客网 时间:2024/05/25 19:58

一、指向常量的指针

  定义形式:const类型 * 指针名;

  不能通过指针修改地址里的值。

const int *  与int const * 是一个意思。

egg:

int i = 0x123;int k = 0x12;const int *p = NULL;p = &i;printf("%0x\n",p);printf("%0x\n",*p);//*p = 0x234;   //不能赋值  错误p = &k;//但是可以修改其地址printf("%0x\n",p);printf("%0x\n",*p);getchar();getchar();getchar();

二、常量指针

  定义形式:类型*const 指针名;

egg:

int i = 0x123;int k =0x23;int * const p  = &i;//在这里赋地址//p = &i;    //错误写法,应该最开始就赋值*p = 0x12;//p = &k;//错误不能修改地址printf("%0x\n",*p);

小结:

前置const不能通过指针改变地址内的值(在*号前)*p=???;

后置const不能改变地址,也就是不能从新给指针赋值(*号后)p=???;



0 0
原创粉丝点击