Ich bin ein wenig verwirrt, schien es, dass meine Strömung richtig ist, aber ich bekomme Seg. Fehler (Zeile 15)C initialisieren struct und Zugriff durch Zeiger
Mein struct in Header:
typedef struct ringBuf_t {
uint32_t data[BUF_CAPACITY];
int head;
int tail;
uint32_t capacity;
} ringBuf_t;
und wie ich es verwenden:
ringBuf_t *create() {
ringBuf_t buf = {.capacity = BUF_CAPACITY, .head = 0, .tail = 0};
return &buf;
}
int push(ringBuf_t *buf, uint32_t item) {
if (buf->head + 1 == buf->tail) {
return -1;
}
buf->data[buf->head] = item;
buf->head = (buf->head + 1) % buf->capacity;
return 0;
}
Bitte geben Sie keinen Code mit Zeilennummern ein! – chqrlie