25. 现在有 int i = 10; int *p = &i ; int **p2 = &p;分别叙述 &p、p、&p2、p2、p2、&i、(&i)、(&p2)。

int i = 10; int *p = &i ; int **p2 = &p;下面是对这些表达式的叙述:&p:表示取变量 p 的地址,即指向指针 p 的指针。p:表示指针变量 p,它存储了变量 i 的地址。&p2:表示取变量 p2 的地址,即指向指针 p2 的指针。p2:表示指针变量 p2,它存储了指向指针 p 的地址。*p2:表示指向指针 p 的指针 p2 解引用后的值,它是指针 p 的值,也就是变量 i 的地址。&i:表示取变量 i 的地址,即指向变量 i 的指针。(&i):表示同样是取变量 i 的地址,加上括号只是为了强调操作的优先级。(&p2):表示取变量 p2 的地址,即指向指针 p2 的指针。需要注意的是,虽然这些表达式中的 & 和 * 符号都涉及地址和指针操作,但它们的具体含义和作用不尽相同。

发表评论