У меня действительно нет подсказки, как дать этому вопросу хорошее название - извините за это.Магия указателя: структуры с указательными элементами и многое другое
Чтобы узнать, для чего цель: передать указатель переменной uint8_t в bar(), который устанавливает его в 1 или 0, что я могу проверить его состояние внутри моей основной. Мне нужно Zbar(), это нить, и это на самом деле установить значение 1 или 0
Так что у меня где-то:
struct foo_t {
...
uint8_t *state;
};
и в основной я иду с:
int main(void) {
uint8_t state = 0;
bar(&state);
while(1) {
if(state)
//do something here
}
}
и здесь мы находимся где-то еще в другом исходном файле.
void bar(uint8_t *state) {
struct foo_t *foo; //using malloc here - don't worry
foo->state = state;
zbar(foo);
}
void zbar(struct foo_t *arg) {
if(condition)
arg->state = 1;
else
arg->state = 0;
}
Как сделать эту работу? o0 zBar может фактически получить доступ к структуре arg, это не проблема вообще.
Пожалуйста, не волнуйтесь, почему я делаю это так странно, он используется в резьбе и т.д.
Ваш вопрос, как написано в настоящее время, не имеет смысла. Нет вопросов в том, что вы написали, что вы хотите от нас делать? –
Я хочу передать указатель, через который я перехожу в bar() в zbar, который затем меняет значение переменной с состоянием адреса на 1 или 0, чтобы я мог считывать состояние в моей основной. Я думаю, что по всему вопросу: Как я могу получить доступ к значению переменной, которая является элементом-указателем в структуре, где я получаю указатель из struct>. < –