There is no easy answer for you. C was the third or fourth language that I studied. I read a book from cover to cover. That is a good start. It probably took me 6 months to learn C, then 6 months to learn how to program for windows, using the Windows SDK, then another 6 months to learn C++.

But the learning, the studying went on for years, seemingly never ending. New technologies come along: OLE / COM, C# and .NET, additions to C# such as lambda's and Linq. There was also WPF, Internet programming such as ASP. Direct X.

I read Microsoft System Journal articles, several years of monthly issues. Books such as "Algorithms and Data Structures in C++" , Object Orientated Programming, Code Complete, Writing Solid Code. Learning UML, Design Patterns.

Much of all this started for me when I started using the programming language built into Microsoft Access.

If you don't understand say for example what the "static" key word is used for, you may find as I did that you spend a lot of time just hacking your code just to get it to compile.

You are fortunate that the tooling is highly advanced compared to when I started. It took me a month before I found out what "DWORD" was. Today you can type that into the editor and find out in a matter of seconds.