typedef

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;

你可能感兴趣的:(C语言)