I don't know any Engine for C language.
But for the other part of the question, well... Even the simplest Engine is a bit hard to make BUT not impossible, it is not something that you will accomplish in one day and without scratching your head.
If you want to make games, then don't bother yourself by making an Engine. But if you have some time, I would recommend you at least to try to make one, it is really challenging and fun at the same time. Besides, it is really rewarding making games with your own Engine.
You have tons of tools online that could help you to create an Engine.
- SDL - Allows you to open a window and manage all that window stuff (drawing, input, etc.). You can learn SDL basis here
- OpenGL - Allows you to create cool effects to you're 2D Engine. This is the best online tutorial about openGL.
- SDL_Mixer - Allows you to manage some sound (it's really basic though).
These are all libraries written in C (although the tutorials are in c++ but can be easily translated)