const修饰的是一个不可以被修改的左值。告诉编译器这是一个左值,但是变量在内存里面有空间的。
所以在运行的过程中,还是可以改变被const的值。
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
int main(int argc, char* argv[]) {
printf(“helloworld\n”);
const int c = 1;
printf("%d\n",c );
int* p = (int*)&c;
*p = 3;
printf("%d", c);
return 0;
}
const如果针对数据的话,那么就不可以被改变。