when initializing a char*, "asdf" is seen by the program as a pointer to that location in memory.
The same is not true for other basic types.
int *Bogus = { 0, 1, 2, 3, 4}; - does not work
int Correct[5] = { 0, 1, 2, 3, 4}; does work
malloc() allocates memory on a global heap, and requires a type cast.
using [] allocates memory locally, and the size of this chunk is limited, so don't use brackets for really big arrays.
Two operators will come in handy all the time... "*" and "&"