C指针和Objective C指针有什么区别?

New*_*bee 2 c pointers objective-c

我知道这是一个非常基本的问题.我需要澄清一些内存问题.这是我的疑问:

int *p = malloc (50); // will allocate 50 bytes and it is pointed by p.

// Freeing C pointer-->

free(p);
Run Code Online (Sandbox Code Playgroud)

Objective-C指针:

ClassAobject *objA = .... // allocated ClassAobject..

// Freeing obj-C pointer--->

objA = nil // Is it enough??? will it release all ivars memory properly..
Run Code Online (Sandbox Code Playgroud)

如果是这样的情况,如果我在目标C类中有一些C指针?如何在ARC中处理这个问题

小智 9

标题不反映你的要求.C指针和"Objective-C指针"之间没有区别.真的,他们只是简单的指针.

您要求的是它们的正确用法之间的区别.如果指针指向Objective-C对象,那么在MRC下,您必须这样做

[obj release];
Run Code Online (Sandbox Code Playgroud)

减少其引用计数(可能会释放它).在ARC下,将指针设置nil为足够(如示例中所示).

  • @Newbee你应该真正阅读苹果文档,或者为这样简单的东西买一本书.我们不是你的私人教师. (2认同)