l24*_*c4l 4 c pointers
以下行的结果是什么:
int* ptr; printf("%x, %x\n", ptr, &ptr);
我知道这ptr是一个记忆中的地址,但是什么&ptr?
ptr
&ptr
Gav*_*n H 25
&ptr将是ptr保存的内存位置的地址.本质上它是指向指针的指针.
Ste*_*son 7
它是包含原始内存位置地址的内存位置的地址(即,它是"指向指针的指针").
Joh*_*don 6
&ptr 如果你愿意,返回指针变量的地址...指向指针的指针.
这通常用于允许函数更改指针实际指向的位置.
AnT*_*AnT 6
ptr不仅仅是"记忆中的一个地址".ptr是左值,是内存中保存地址的对象.内存中的每个对象都有自己的地址,无论它拥有什么.
既然ptr是内存中的对象,它也有自己的地址.这个地址正是你所做的&ptr.
归档时间:
15 年,10 月 前
查看次数:
6126 次
最近记录:
8 年 前