第1个回答 2008-09-20
&p表示取p的地址
p表示取变量p的值
int **q表示定义一个二维指针,也就是指向指针的指针变量
q=&p 表示q指向另一个指针变量p
第2个回答 2008-09-20
&是取一个变量的地址运算符,*这个符号表示“指向”如果定义一个指针变量A,那么*A表示A指向的变量。所以,在你的题目中,int *P是说明定义一个指针变量,在定义一个指向指针的变量,就是q。在C语言里就得这么写:**q,说明q指向P,而P指向4,所以**q==4.p==4,因为他们都指向存储4的地址。还不明白我们可以深一步探讨。
第3个回答 2008-09-20
int*p=4; 那么p 的类型就是 int * ,值为4。
**q; q没有申明。有问题。如果一定要说,**q的类型是空,
也就是void。当然这个不大可能。void **q;比较合理。
q=&p; q的类型是void**,而&p类型是 指向(int*)的指针,
也就是int**
变量的声明永远是对称的就是说:int *p=4;
p的类型就是int *
*p的类型就是int.
&相当于解引用的逆向操作。*(&p)=p;