黑马程序员技术交流社区
标题:
const的问题
[打印本页]
作者:
306228801
时间:
2015-10-18 18:23
标题:
const的问题
const int a = 10;
printf("%d\n",a); //结果10
int *p = &a; //
*p = 100; //强制修饰常量
int b = a;
printf("%d,%d\n",a,*p); //结果10,100
在数值输出的时候,const修饰的变量a已经跟初始话的数值挂钩了,输出的时候不用访问内存,直接替换。
但是字符串输出的时候因为要从地址中取出变量,所以后面2次输出结果会不同。
const修饰指针
如果 const 在 * 的左侧 表示指针变量指向的变量的值不能变,但是指向可以改变
如果 const 在 * 的右侧 表示指针变量指向的变量的值可以改变,但是指向不可以改变
如果 const 出现在 *的两侧,表示指针变量的指向和值都不能改变
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2