指针变量的声明

在 C++中,指针变量就是使用一个*来声明,格式为类型名称 *变量名称;,例如int *ip;。与其他变量相同,指针变量里也保存着一个值,这个值就是指针所指向的内存空间的地址。不同类型的指针变量,虽然可以任意指向,但是只会按照其类型来读取所指向内存空间的内容。

在许多代码中,指针还经常使用int* ip的格式声明,这种写法是合法的,但是并不推荐,因为这会产生int*是一种类型的误解。

指针变量在刚声明但未初始化时,会指向地址为 0 的内存,对应标准库中的NULL

指针的实质

任何变量在内存中都有一个地址编号,操作系统根据这个地址编号来确定每个变量的位置并读取其中所保存的值。

指针变量中保存的,是一个特殊的值——内存地址。当我们更改了指针变量的值时,这个指针变量就指向了另外一段内存。所以指针的实质就是一个存放着内存地址的变量。