Я видел простую программу на C:
//create a pointer to 3 bytes on heap
char *start = malloc(3);
*start = 'u';
*(start + 1) = 'v';
*(start + 2) = 'w';
printf("%s has %zu characters.\n", start, strlen(start));
// Free the memory so that it can be reused
free(start);
//Why we need to set start = NULL if we have already freed the memory above
start = NULL;
Я все понимаю, кроме последней строчки start = NULL;
, зачем нам ставить NULL
? Просто чтобы указатель указывал на NULL
вместо бессмысленного пространства памяти?
start = NULL;
обязательное действие или полезное действие?
NULL
мои указатели, которые решают все мои двойныеfree
проблемы, верно?). 28.02.2015