【发布时间】:2016-05-13 20:35:40
【问题描述】:
假设我有以下代码:
struct inst {
uint32_t field1;
uint16_t field2;
void *priv;
};
struct ops {
int (*init)(void);
int (*deinit)(void);
int (*run)(void);
};
所以我可以这样做:
struct inst p1;
struct ops ops;
/* init p1 and ops.*/
...
inst->priv = ops;
以后这样访问priv中的数据安全吗:
return (struct ops *)inst->priv
【问题讨论】: