const int *p 和 int* const p 的区别详解
来源:互联网 发布:201年10月淘宝申请小号 编辑:程序博客网 时间:2024/05/21 17:53
标准教科书答案如下:
const int * p : const右边接近于int这个类型声明,意思是有个指针p,指向的是一个int型的整数常量。即p可变,*p不可变。
下面程序说明*p不可变
int main(){int a;const int* p = &a;//编译器将a看做const int型,所以该句不会出错//*p = 1;//l-value specifies const object,虽然声明的a 没有const标记,但由于p的效果,*p不能改变return 0;}
下面程序说明p可变
int main(){const int *p;int a,b;p = &a;p = &b;return 0;}
int* const p: const右边接近于*这个类型声明,意思是有个指向整数的常指针。即p不可变,*p可变。
下面程序说明p不可变
int main(){int a,b;int* const p = &a;//const变量需要初始化//p = &b;//l-value specifies const objectreturn 0;}
下面程序说明*p可变
int main(){int a;int* const p = &a;//const变量需要初始化*p = 1;return 0;}
总的来说,抓住一点:const声明的变量不能出现在等号左边,
const int *p,中p指向的int为const,所以不能对*p赋值,即*p不可变。
int* const p,中p为const,不能对p赋值,所以p不可变
- const int *p 和 int* const p 的区别详解
- C++ const int* p 和 int * const p的区别
- const int * p 和 int const * p 和 int * const p 的区别
- int *const p,const int *p和int const *p的区别
- const int *p,int *const p和int const *p的区别
- 详解const int *p,int*const p,int const *p
- 详解const int *p,int*const p,int const *p
- const int *P 、int const *p 、int *const P 详解
- const int *p,int *const p区别
- const int *p,int *const p区别
- const int *p,int *const p区别
- const int* p和int* const p
- const int* p 和 int* const p
- int const *p 和 const int *p
- const指针,const int * p, int *const p,int const * p的区别
- const int *p、int *const p、const int* const p的区别
- int *p,cons int *p,int const *p,int * const p,const int * const p,int const * const p的区别
- 题目二:const int *p,const * int p,int const *p的区别还有int const *const p
- 计算机学科导论-2013级教学材料
- RMAN Crosscheck 和 Delete 命令的2个实例
- Archlinux2013-07没有/arch/setup的AIF,新安装方式。
- C# ActiveX 开发时反序列化化提示找不到DLL解决方法
- 总结showModalDialog在开发中的一些问题
- const int *p 和 int* const p 的区别详解
- Excel.Application
- 程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreate的问题解决
- 继承galary
- 1
- android 事件模型原理
- 类作用域与命名空间续-----留有后续疑问
- 用ffmpeg抽取yuv数据
- Android仿Metro的界面设计