int*p; 指向一个整型的指针
如果,在前面我们使用了 typedef int *Pint;
则上面的声明方法,可以改为:Pint p;同样是声明一个指向整型的指针
同理:
struct objc_class {
Class _Nonnull isa OBJC_ISA_AVAILABILITY;
#if !__OBJC2__
Class _Nullable super_class OBJC2_UNAVAILABLE;
const char * _Nonnull name OBJC2_UNAVAILABLE;
long version OBJC2_UNAVAILABLE;
long info OBJC2_UNAVAILABLE;
long instance_size OBJC2_UNAVAILABLE;
struct objc_ivar_list * _Nullable ivars OBJC2_UNAVAILABLE;
struct objc_method_list * _Nullable * _Nullable methodLists OBJC2_UNAVAILABLE;
struct objc_cache * _Nonnull cache OBJC2_UNAVAILABLE;
struct objc_protocol_list * _Nullable protocols OBJC2_UNAVAILABLE;
#endif
}
上面定义了一个结构体
typedef struct objc_class *Class;
Class _Nonnull isa;
意思是声明了一个指向objc_class结构体的指针isa
相当于objc_class *isa;