首先,指针和int、float一样是一种数据类型;它也要有一个变量,称为指针变量,但是这个指针变量里存放的是另一个变量的地址;比如:
int *a;
a=&bookname;
*p整体称为指针变量,a为指针变量名,“ * ”为指针运算符,bookname为另一个变量,这个变量的类型必须和*a的类型一致,为int类型;
&bookname表示为bookname的地址,把这个地址付给a,并且这个地址是系统分配的,在程序中不可以直接把地址赋值给指针变量;
又如:
int i;
int *j;
j=&i;
*j=9;
第四句*j=9不是把9给*j这个指针变量,而是把9给了*j所指向的“ i ”的空间,即 i 的值变为9。