Vla*_*ala 1 pointers objective-c
如果我正在使用Objective-C,这是我如何声明初始化int:
int a = 1;
Run Code Online (Sandbox Code Playgroud)
vs一个对象:
myObj *a = [[myObj alloc] init];
Run Code Online (Sandbox Code Playgroud)
所以这是一个指向对象的指针,用'*'表示.我的问题是,为什么不以这种方式声明类型id的对象?即,为什么会这样:
id genericObj;
Run Code Online (Sandbox Code Playgroud)
并不是:
id *genericObj;
Run Code Online (Sandbox Code Playgroud)
?
rei*_*ein 14
因为id定义为:
typedef struct objc_object {
Class isa;
} *id;
Run Code Online (Sandbox Code Playgroud)
所以它已经是一个指针.