C语言的中的const,代表的含义是”不可改变的变量“,或者可以成为”伪常量“
C++中 const,被称为”一个有类型描述的常量“
const int liv_num = 10; liv_num = 18; //error 因为liv_num 被const修饰<span style="color:#ff0000;">不可被直接赋值</span>
我们知道在c中给变量赋值,有两种方式:一种就是直接赋值;一种是间接赋值。
对于第一种方式,我们已经验证是不可以的。那么,使用间接赋值是否可以实现对liv_num的值得改变呢?
注意:一定要是.c的文件,如果使用的是.cpp的话,不会出现效果,因为c++中 const,被称为”一个有类型描述的常量“
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义一个常量
const int liv_num = 10;
//liv_num = 18; //error 因为liv_num 被const修饰不可被直接赋值
//定义一个指针指向常量
const int *pliv_num = &liv_num;
//对指向常量的指针进行转换
int * pNum = (int *)pliv_num;
//进行赋值
*pNum = 20;
printf("liv_num = %d \n", liv_num); <span style="color:#ff0000;">//结果为:20
</span>
system("pause");
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/obuyiseng/article/details/47438525