Я пытаюсь реализовать простой кольцевой буфер с помощью структуры. Я никогда не использовал структуры раньше и только начал пытаться их понять. Компилятор выходит с этой ошибкой:Простая структура C не компилируется
expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
Ошибка относится к последним двум строкам.
#define MAX_PROCESSES 16
struct ring_buffer{
uint8_t data[MAX_PROCESSES];
uint8_t size;
uint8_t count;
uint8_t write_pos;
uint8_t read_pos;
};
struct ring_buffer ring_buffer_processes;
ring_buffer_processes.size = MAX_PROCESSES;
ring_buffer_processes->size = MAX_PROCESSES;
Я использовал операторы только для тестовых целей, чтобы увидеть их, если это работает. Разумеется, это должно быть только одна строка.
Я также пробовал использовать «typedef», но это тоже не помогает. Что здесь не так?
Благодаря
Удалить последнюю строку, вы получите элемент структуры через '.' оператор –
@Peder. Он компилируется отлично: https://godbolt.org/g/j3NO3P – Midas
, если это весь ваш код, вы должны обернуть последние две строки в main() – Gar