指针的问题
April 10, 2014
这些细节的问题涉及到语言内部的实现和处理,现在还是没有太懂。
尤其是关于const的问题。
比如说下面的代码:
#include <stdio.h>
int main(void)
{
const int x = 1;
int y = 3;
int * p = (int *)&x;
*p = 3;
printf("x = %d\n", x);
printf("*p = %d\n", *p);
if (y == true)
printf("true\n");
return 0;
}
/*
output:
x = 1
*p = 3
*/
也就是说,const类型的整型变量的值并没有改变。印象中好像是const类型的变量在内存中存放的位置和普通变量不一样之类的……当初也想到这个了,笔试的时候不太确定。整道题做错了。。。白写了那么多啊囧。
这个问题具体的原因现在还不太懂,问题先留在这里,等会儿再去查。。。还有坑爹的实验要去做。