Tag: 样式

用于不透明结构的C typedef编码样式

所以我理解typedef对于只能由访问器函数操作的不透明结构是可接受的。 这是使用在访问器函数中自引用的opaque typedef结构的适当方法吗? typedef struct foo { struct foo *bar; int member; } foo1; foo1 * blah1 = (foo1*) malloc(…); blah1->bar->member = 999; 替代方案是这样的: typedef struct { struct foo* bar; int member; }foo; 所以当你做这样的事情时: foo * blah1 = (foo*) malloc(…); blah1->bar->member = 999; 你会收到这个错误: dereferencing pointer to incomplete type