Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem dynamicka alokace C, retezce

Diky!
A kdyz zavolam free(p): free uvolni pamet, ale p porad ukazuje na uvolnene misto. Musim do "p" jeste ulozit NULL kvuli dalsi nove alokaci? Protoze v mym programu v dalsim prubehu cyklu znovu volam malloc, ktera ne vzdy alokuje stejne mnozstvi pameti...
Da se tedy rict, ze nasledujici kod je v poradku?

fgets(nacteno, MAX_DELKA_VSTUPU, soubor);
if(strlen(nacteno) == 1) {
	printf("konec.");
	break;
}
nacteno[strlen(nacteno)-1] = '\0';
radka = (char *) malloc(sizeof(char) * (strlen(nacteno) + 1));
strncpy(radka, nacteno, strlen(nacteno));
zpracuj(radka);
free(radka);

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny