是不是说,指针的值是一个内存地址?

Tha*_*nks 0 pointers objective-c

据我所知(或者我认为我理解),作为指针的变量只存储其值的内存地址.

让我们说:

int x = 5;
NSString *str1 = [NSString stringWithCString:"one"];
Run Code Online (Sandbox Code Playgroud)

那么x的值是5.这就是我在调试器中看到的,当我在那里放置断点时.

但:

str1的值不是"一".它是一个像bfffd3d0这样的内存地址.这就是我在调试器的"值"字段中看到的,当我停在那里时.因此,这个bfffd3d0内存地址背后是NSString对象,它具有巨大的数据结构(假设它很庞大),大量的实例变量,值等等.这几乎是对的吗?

我不是在谈论变量名本身的内存,而是关于变量"引用"或指向或存储的值或其他内容.

Ric*_*dle 7

你是对的,是的.

"在这个bfffd3d0内存地址后面是NSString"可能会更好地说" 这个bfffd3d0内存地址......"