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=???;
定义形式: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=???;
相关文章推荐
- Java多态性轻松理解
- 数据卫士DG
- 两个栈实现队列 两个队列实现栈
- UIGestureRecognizer手势识别器
- Farseer.net轻量级开源框架说明及链接索引
- JQuery,JS获取正确scrollTop
- 二叉搜索树的后序遍历序列
- 希尔排序-插入排序算法
- c3p0连接数据库
- Android 中如何使用MVP设计模式
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- 排序算法(一)——简单选择排序
- cocos2d-x笔记(1)
- 强制声明泛型的实际类型
- 装箱和拆箱
- 如何在导航栏的两侧加多个Button
- 开源框架spring AOP的深刻理解
- Spring AOP代理模式
- 避免用char类型作为数组小标
- Objective-C:copy的用法解释