求助: 关于C的指针问题
现在我们编的程序都是在保护模式下的程序,面对的程序空间是虚地址空间,虚地址空间可以比内存大,也就是说我们编的程序可以比内存大很多,那么在没有编译程序之前,C语言的指针到底指向的是内存地址还是虚地址呢?
比如:
int main()
{
int *p;
p=2000;
printf("%d\n",*p);
}
这个程序能运行吗?(我在Linux下试了不能运行,没在windows下试)我把p赋予2000的地址,是代表虚地址的2000,还是内存地址的2000呢?如果程序不能运行,那是为什么不能运行呢?求解答,谢谢各位了!