过去我主要在 .NET 中进行编程,因此我不必特别担心指针之类的事情,但最近我进入了 Objective-C,我决定尝试并完全理解内存的工作原理管理。
所以,首先我想说我知道你不应该为 int 指定指针,因为它无助于提高效率,但这主要是出于好奇而进行的实验。
如果我这样创建一个整数指针: int *intPointer; 当我这样做时,它实际上是指针指向的内存位置是怎么分配的:
intPointer = 43;
据我了解,这样的操作不应该改变指针的实际内存地址吗?
这段代码也是如此:
int *intPointer;
int integer;
integer = 43;
intPointer = integer;
结果相同,但是当我使用 CLLocationCoordinate2D 并尝试使指针指向 CLLocationCoordinate2D 变量时,我实际上必须这样做:
CLLocationCoordinate2D *coordinatePointer = &coordinate;
在我看来,这似乎是正确的方法。
这是我在 stackoverflow 上的第一篇文章,我希望它足以得到回答。谢谢!