I\'ve seen people\'s code as:
char *str = NULL;
and I\'ve seen this is as well,
char *str;
I\'m wonder, what
an unitialized pointer should be considered as undefined so to avoid generating errors by using an undefined value it's always better to use
char *str = NULL;
also because
char *str;
this will be just an unallocated pointer to somewhere that will mostly cause problems when used if you forget to allocate it, you will need to allocate it ANYWAY (or copy another pointer).
This means that you can choose:
NULL
(this is a sort of rule to thumb)