Предполагая, что у меня есть следующий код:хранения объекта структуры на пустой указатель
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
благодарит за отзыв. Я знаю проблемы с возвратом объектов, связанных с стекем, и мой вопрос скорее касался typecasting в 'return (struct ops *) inst-> priv' - это требуется или может быть опущено? – Mark
Вы можете опустить его. –
Но не возвращайте указатели стека. Он не будет делать то, что вы намереваетесь сделать. –