En ese caso tienes que hacer uso de memoria dinámica. Eso si, para evitar lagunas de memoria recuerda que tienes que preocuparte de liberar la memoria de forma manual.
Código C++:
Ver original// el arreglo va a almacenar un máximo de 5 elementos
int* arreglo = new int[5];
// liberamos la memoria
delete[] arreglo;
// ahora el arreglo es capaz de almacenar 20 enteros
arreglo = new int[20];