OUTPUT: nbrOfElements: 5 nextToGet is: 1 fetched from buffer: hello0 nextToGet is: 2 fetched from buffer: hello1 nextToGet is: 3 fetched from buffer: hello2 nextToGet is: 4 fetched from buffer: hello3 nextToGet is: 5 fetched from buffer: hello4 nextToGet is: 0 fetched from buffer: nextToGet is: 1 fetched from buffer: hello0 nextToGet is: 2 fetched from buffer: hello1 nbrOfElements: 5 #include #define MAX_NBR_ELEM 5 #define MAX_NBR_CHAR 9 char ringbuffer[MAX_NBR_ELEM][MAX_NBR_CHAR]; //char matrix with size for 10char strings int nextToPut=0; int nextToGet=0; int nbrOfElements=0; void put(char* c){ int i=0; printf("nextToPut: %d\n",nextToPut); if(nbrOfElements>=MAX_NBR_ELEM){ printf("buffer full\n"); } else{ while(i<9){ ringbuffer[nextToPut][i]=c[i]; i++; } printf("string copied\n"); if(nextToPutMAX_NBR_ELEM){ nextToGet=0; } if((ringbuffer[nextToGet]!=NULL)){ if(nbrOfElements<=MAX_NBR_ELEM && nbrOfElements<=0){ nbrOfElements--; // nextToGet++; } return ringbuffer[nextToGet-1]; } else{ return NULL; } } int main(){ char* pChar; char* myString0="hello0"; char* myString1="hello1"; char* myString2="hello2"; char* myString3="hello3"; char* myString4="hello4"; char* myString5="hello5"; char* myString6="hello6"; char* myString7="hello7"; put(myString0); put(myString1); put(myString2); put(myString3); put(myString4); put(myString5); put(myString6); put(myString7); printf("nbrOfElements: %d\n",nbrOfElements); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); pChar=get(); printf("nextToGet is: %d\n",nextToGet); printf("fetched from buffer: %s\n",pChar); printf("nbrOfElements: %d\n",nbrOfElements); }