A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 306228801 中级黑马   /  2015-10-18 18:23  /  589 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

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 出现在 *的两侧,表示指针变量的指向和值都不能改变

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马