Frage zu Ringpuffer und Schleife in C oder C++?

1 Antwort

int iIn = 0, iOut = 0;

int ringbuffer[ANZAHL];

void Add(int wert) { ringbuffer[iIn] = wert; iIn = (iIn + 1) % ANZAHL; }

int Get() { int result = ringbuffer[iOut]; iOut = (iOut + 1) % ANZAHL; return result; }

Get musst Du natürlich mit einer Überprüfung versehen, ob überhaupt ein Wert enthalten ist.