Tak, można. Rozwiązanie C:
int i, nowy_rozmiar;
int rozmiar = 5;
int *tablica = malloc(rozmiar*sizeof(int));
for (i=0; i<rozmiar; i++)
tablica[i] = i; /* lub jakies inne dane*/;
nowy_rozmiar = 7;
tablica = realloc(tablica, nowy_rozmiar*sizeof(int));
for (i=rozmiar; i<nowy_rozmiar; i++)
tablica[i] = i;
/* jakies operacja */
free(tablica); /* zwolnienie pamieci */
Rozwiązanie C++
std::vector<int> tablica = {1,2,3,4,5};
for (int i=5; i<10; i++)
tablica.push_back(i);