struct objc_ivar_list { int ivar_count; /* variable length structure */ struct objc_ivar ivar_list[1]; } struct objc_ivar { char *ivar_name; char *ivar_type; int ivar_offset; }; 变长结构体,因为不同类的实例变量数量不定。 objc_ivar_list 是 ObjC 中代表类的实例的变量列表的数据结构,objc_ivar 是代表一个实例变量的数据结构。(之前没看过现翻的,应该是这样没错。。。) [1] 是变长结构体具体实现的细节,搜索下“变长结构体”就有解了。
变长结构体,因为不同类的实例变量数量不定。
objc_ivar_list 是 ObjC 中代表类的实例的变量列表的数据结构,objc_ivar 是代表一个实例变量的数据结构。(之前没看过现翻的,应该是这样没错。。。)
[1] 是变长结构体具体实现的细节,搜索下“变长结构体”就有解了。