By now you should have a fairly good grasp of what C is, how it operates, and how to use it. However, some of the flexibility of C is not going to be apparent to you until you start to use it for real life applications. I cannot stress enough that there is no substitute for actual doing. Book learning is one thing – actual implementation is another. You will learn more doing a few routines and programming than you ever will from reading with no practical experience.
Tinkering with other people’s programs is a really good way to start out. If you start out with a program that already works you can see how the behavior changes when you make modifications to that code. You’ll learn a lot about what C can and cannot do this way, plus it gives you templates to base your own code on. Just copy someone else’s routine to make a string all lowercase, then modify it slightly to your own needs.
At this point, you have a grasp of C. In order to fix that in your mind, you should most assuredly go and do something with this new learning, or you will also most assuredly lose it.
Think up a little program you want to use, or that would be useful, go buy a good C reference book and get going! You could be the next John Carmack or Tim Sweeny:) How you gonna know if you don’t try?