Help me please.
Practice. Mike Acton from Insomniac games brought this up during a talk at a conference. Get in the habit of opening up an editor, writing a linked-list, hashtable, or some other small program, then 30 minutes later, close the file without saving.
Do it again the next day, and again, and again, and again.. Then move onto another small program... Keep doing this. Acton stated that many programmers forget that you can actually practice coding like a musical instrument in a repetitive and methodical fashion. This single realization has done wonders for me in retention of skills.
Learn from here - C programming online from the best C tutorials submitted and voted by the programming community.
Marco Alka
Software Engineer, Technical Consultant & Mentor
While tutorials online can get you started quite well, the most important part is passion. This is advice I give to anyone learning any programming language (or really just about anything else), because it is always the same.
Initially, you might find it hard to understand all that stuff which is going on. It might seem hard to come up with the logic and sometimes you might sit there puzzled, thinking why the darn thing does not do what you want it to do... or why it keeps crashing. But you will learn that even those moments and challenges are a fun part of programming. Just... keep going, since they will be especially annoying in the beginning.
Oh, and PLEASE, if you cannot solve a problem after sitting there for hours or days, feel free to post a question here in the C node (you may invite me, if you want). You might find a solution by just explaining the problem and your code; and if not: I really miss system languages on Hashnode. Please help getting them more active by contributing questions to the C node :)