I think you are new at this research area. Before any criticism done, you should think first. My question is right and needed to be solved. I have 33 years C and C++ programming experience, although I have difficulty to solve this problem. This problem has occured during my data structure programming course, and I share it. After a hard work, I have solved it and I am sharing solution for all researchers (solution is related to the function pointers).
As far as I understand you were struggling to convert an exercise of C++ into C. You should put the functions into .c files, and be using include guards in your headers.
I am not mentioned about C++ in my question. First of all read question correctly, instead of writing so long nonsense sentences in order to prove something. I know how to write in C++, I made it clear.
Peter, the only difference between a struct and a class in C++ is that a struct defaults to public and a class defaults to private. That is the only difference. By convention many people use struct for POD data and class for other objects but that is not a requirement.
First of all I have never used functions in structs before. Should I use? How can you relate my experience years to the question? The important point you may obtain, life is a long time to learn something any time. No other conclusion is required.
You don't understand the other people, because you believe that you are magnificent. If you take care for other people not just as you, it would be better.
At this point I would recommend to read https://sites.google.com/site/cinterfacesimplementations/
One should always have his collections somewhere on the disk to (re)use them. In this case a linked list with iterator support would be the structure to use. The same data structure can be used (with another interface) for FIFO and LIFO collections.