1) Patience and work. You need to spend regular time doing something with coding in C. Like any language, if you don't use it, you quickly forget it.
2) Memorize and use common code syntax. Parts of code you'll use over and over again in your programs. Don't insist on "individualized" idioms of syntax that obfuscate your code, as much as they make it "clever".
Getting away from using parts of the language that have been found troublesome - like scanf() for user input, or gets(). Maybe not the first month out, but as soon as you understand their deficiencies, switch to the better alternatives.
3) Syntax and basic logic is critical, but understanding how to work with logical "structures" is also critical: arrays, linked lists, tree's, hash's, structs, etc.
4) Getting a handle on top down and bottom up design, and how to use that in designing a program in the first place. Not needed for trivial programs, but in real life, the problems, and programs, are not usually trivial. Straight forward, jumping in to code right away methodology, just won't do the trick.
5) Work your code up, and compile it frequently. Never leave yourself with 100 lines of uncompilable code over three new functions, and then wonder how to sort out the resulting 50 or so compiler errors.
Meter by meter, coding is sweeter.