some youtube tutorials are very helpfull to watch. as well as http://www.cprogramming.com/ this site.
I found it very helpful to read, view videos and to try alot of programs on your own. just try and dont give up. be persistant and keep trying programs on your own. if you get stuck then make a post and ask for help.
Here is a sticky from daniweb, which has a ton of various outlets for learning C. I recently started learning C, after about 2-3 years of Java programming and have found it relatively simple. If you are looking for a one-way outlet to learn (one reference), then this may be of some assistance.
C is a great language for low-level (close to the machine) code, but for more complex systems I prefer C++. You might appreciate this, that I consider Java to be C++ with training wheels! :-) That said, I have developed enterprise class systems with both C and C++ over a 30+ year career as a professional software engineer. I write most of my code (except kernel code) in C++, but I don't eschew C functions, because of their simplicity and practicality, especially for network (sockets) programming - after all, even Stroustrup (the author of C++) considers C++ to be "C with classes". :-)