Я хотел бы получить некоторые пояснения по назначению указателя на структуру (хотя моя программа компилируется без ошибок). У меня есть структура, определенная в заголовке исходного файла (я удалил typedef и связанный с ним тег, потому что я подозревал, что могут быть некоторые проблемы между назначением указателя на структуру typedef и непосредственно на структуру). В пространстве символов над методами я определил структуру как PERSISTENT, используя директиву #pragma, чтобы структура сохраняла свои значения. Я также явно инициализировал его и объявил указатель на структуру под названием «таймер». Внутри метода, который управляет структурой, я пытался назначить указатель timer = & event_time, но я думал, что мне не нужен оператор address-of, так как event_time сам по себе уже является указателем. Я думал, что компилятор знает, что идентификатор event_time является указателем, и я мог бы обращаться с ним, как если бы я говорил идентификатор строкового литерала. Очевидно нет. Некоторые разъяснения будут очень приветствоваться. Ниже приведен код.
Заголовочный файл:
//typedef
struct Event_Time {
uint8_t day;
uint8_t hr;
uint8_t min;
TCN tc;
};//Event_Time;
А теперь исходный файл:
#include "Event_Table.h"
#pragma PERSISTENT(event_time)
struct Event_Time event_time={0,0,0,tc0};
struct Event_Time *timer;
void check_Event(){
timer=&event_time;
// more code...
}