您的位置:首页 > 其它

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

2015-11-02 21:19 204 查看
一、指向常量的指针

  定义形式: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=???;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: