这种符号在C中意味着什么?

时间:2009-10-10 20:14:06

标签: c pointers

int *w;
int **d;

d = &w;

** d存储的内容是什么?

5 个答案:

答案 0 :(得分:5)

分配后,**d*w相同。 d是指向整数的指针;指向它指向的整数的指针是w。因此*dw**d*w

答案 1 :(得分:3)

int **表示'指向int'的指针(也称为双指针)。

现在,int *w只是表示指向int的指针,因此赋值d = &w说:“分配w的地址(它本身就是指针/地址)到d“。

答案 2 :(得分:3)

** d的值与* w的值相同; * d等于w中保存的指针值;因为d是指向int的指针,所以你必须取消引用它两次以获得实际值。

答案 3 :(得分:3)

w存储int的地址。 d存储指向int的指针的地址(除非在这种情况下它存储随机值,因为它没有被赋值),在这种情况下是d的地址。

答案 4 :(得分:0)

** d是指向int的指针,所以当你说d =& w时,** d会有指针* w的地址,但除非你说d =& w刚才说 int * w int ** d,它没有任何意义,除了: int * w是指向int的指针,而int ** d是指向int的指针,但绝不会说d将存储w的地址。