Ad esempio:
codice:
int colonne,righe;
//puntatore all'area di memoria
double *dati;
// Matrice 5x5
colonne = 5;
righe = 5;
dati=calloc(colonne*righe,sizeof double);
//Riempie di dati
for(i=0;i<righe;i++)
{
    for(j=0;j<colonne;j++);
    {
        dati[i*colonne + j] = i*j;
    }
}
// Re-alloca la memoria
colonne = 17;
righe = 30;
dati=calloc(colonne*righe,sizeof double);
//Aggiunge dati
for(;i<righe;i++)
{
    for(;j<colonne;j++);
    {
        dati[i*colonne + j] = i*j;
    }
}
Spero di nn aver sbagliato qualcosa...