Learning about C

End goal is to learn about the basics of C, dynamically allocate memory, I/O, and simple debugging with valgrind.