Hey, what's up

So I've been writing less in C++ lately, and more in C; this is for a number of reasons, but the more I do it, the more I realize there's a lot I don't know (yet, lol). When I do any kind of searching for advanced C tutorials, I get a lot of C++/C#, and also a lot of Hello World stuff I learned years ago. So I was wondering:

1. What is the best way to get user input? I understand how buffer overflows work (except that somehow hackers can use them to run arbitrary code - that part is still voodoo witchcraft to me lol), but there doesn't seem to be a simple straight answer to this. In C++ we have "streams" (stringstream, ifstream and ofstream), and I think that's a great solution, but in C? I've heard of something called a "Pascal String", where it's got a max of 255 characters and the first is the length of the string or something like that. In Windows, there is a "scanf_s" function, which is great but not cross-platform, so I'm not sure if there is a single standard way to do it.

2. This could be related to #1, or maybe part of the solution: When and how would you want/need to allocate memory on the heap? I could Google malloc and free, find tutorials on it etc. so I'm not necessarily asking HOW... but up till now I've been able to do everything on the stack. I've built games in SDL, Allegro and others; I've written all kinds of command-line programs, etc.; but never once have I ever had to go there. So what are the scenarios where you would need to? What kinds of pitfalls should I be aware of?

3. What is the go-to resource for these types of questions in the future? I have a copy of the K&R, which I know most hardcore C devs call "the Bible"; but most of what I've read in there is pretty basic stuff; granted, I haven't read it all from cover to cover (maybe it gets into this toward the end?)... but in C#/VC++ we have MSDN. Python has python.org, PHP has php.net, etc. There's even a cplusplus.com (or was it .org?) but I haven't found any equivalent for C. I would like to learn more about best practices, tricks and hacks and everything I can about this awesome language.

Thanks!