cdefinecontainerof(ptr,type,member)({consttypeof(((type)0)member)mptr(ptr);(type)((char)mptroffsetof(type,member));})ptr:指向结构字段的指针。type:包装指针的结构类型(即指针的类别)member:ptr指向的结构内字段的名称(如结构体中的成员)举个例子:cstructperson{intage;charname;}somebody;structpersonthepersonthepersoncontainerof(somebody.name,structperson,name);最终结果theperson由containerof考虑到name从该结构开始处的偏移量,进而获取正确的指针位置。