指针变量,它是一个变量,而且不管他指向什么类型,他的大小都是恒定的(4个字节)。
不要把指针看成什么奇特的东西,他就是一个普通的变量,只不过他和int类型不同之处在于,他存储的信息是一个地址。
至于他本身的地址是怎么存储的,你可以问一下自己一个int型的数据的地址是怎么存储的。
指针变量的存放,需要了解c++的内存机制,一般来说分为堆和栈区,堆区一般是new出来的对象,而指针并非这样,所以指针可以指向的是堆区和栈区的任意位置。
所以本质上,指针还是存放在内存模型中的栈区的。一般栈区小,堆区是栈区的几倍。但堆区的效率没有栈区高。