For every line you must type, there is a change you will mistype it or forget to do it. Thus, since you must declare the pointer, allocate memory from it, and free the memory
Oh, I know. I just hate when I have to think and code at the same time.
(I guess that's technically optional on a uC)
Uh, no, freeing memory is not optional on a uC.
as opposed to just defining the object, you have the opportunity to make more errors with pointers.
Better to let someone else do the thinking, eh?