虚拟内存到底是什么?为什么我们在C语言中看到的地址是假的?