声明和初始化指针的常用方法如下:
int num;
int *pi = #
下面是一种看似等价的声明方法:
int num;
int *pi;
*pi = #
不过,这样是错误的,注意最后一行的解引操作。我们试图把num
的地址赋给pi
所指向的内存地址(而不是pi
)。指针pi
还没有被初始化。我们犯了一个简单的错误,误用了解引操作,正确的写法如下:
int num;
int *pi;
pi = #
在原声明int *pi = &num
中,星号把变量声明为指针,而不是解引操作。