A este to s tym kolkokrat realokoval a neustalym delenim a nasobenim resp. zbytkom po deleni je neefektivne a neprehladne. Efektivne a jasne je to vtedy ked si urobis
int Alokovane = 0;
int Obsadene = 0;
char* cifry = NULL;
a potom pridavanie znaku je napr.
if(Obsadene >= Alokovane) // potrebujem alokovat
{
Alokovane += GRANULARITA;
if(cifry == NULL) cifry=malloc(Alokovane);
else cifry=realloc(cifry,Alokovane);
}
if(cifry!=NULL)
cifry[Obsadene++] = znak;
//edit: trochu som zjednodusil to if, na >=, je to efektivnejsie jak +1>