I'm not the OP, but I'm also interested in this question.
I know JavaScript (and a little bit about basic data structures).
I'm currently reading Stroustrop's (The C++ programming language).
I'm really interested in any websites, books, series etc. that may be good for me to learn.
Hope I didn't hijack this thread. Sorry.
I learned C (and C++, technically, even though I took a 101-level course on it ages ago) from reading examples on the web.
You can peruse the C++ and C book lists on SO, but beware: they have been corrupted by people with special interests (there is an ongoing meta conversation about its fate — specifically recommending deletion).
The tutorial on this site, while regularly panned, is actually a good start. Read it through, then google around concepts of things you want to do.
I haven't had to try to learn basic C or C++ for over ten years, so I admit I am not well-aware of all the resources available in tutorials and how-tos and books.
Hopefully someone else will have a better recommendation.
C is a fairly simple language. Like others, I have known it far too long to have a current study path, but you can learn C 'pretty well' in just a couple of months.
my 'learn C in 30 min per day' course would just look like this, a bullet per day..
- printf and scanf syntax, practice typing and printing some stuff to the console, starting with hello world.
- beginner c-strings: strstr, strcmp, strcpy, strlen, strcat. Learn these. learn how arrays work while playing with strings directly. make a char array string and modify its data a few ways.
- for, while, and do-while loops. reinforce your string skills with loops.
- structs. start using c99 types now.
- subroutines
- pointers 1 (malloc, free, and array/pointer syntax and interchange)
- pointers 2 (make a linked list or something, get in there deeper)
-pointers 3 (function pointers and structs with FPs as 'classes' of sorts, and void *s)
- file I/O
- preprocessor basics (#define constants, #define simple macro functions as you WILL see these)
- multi file compiles and such
from there, start trying to do bigger problems that cause you to look up how to do other stuff you have not seen yet.
If you can do the above, you can do an awful lot of stuff in under a month. and each of those topics is covered to death online. If you do not know a language that has pointers already, you will need a few days on those bullets. The first time one encounters pointers takes some time to really get it.