Fácil, en algunos lenguajes como php puedes redimensionar un array sin tener que mover la memoria, por ejemplo:
$abc = array();
$abc[] = 'valor 1';
$abc[] = 'valor 2';
$abc[] = 'valor 3';
En este caso tendrás un arreglo de 1 dimensión con un tamaño de 3.
Recursivamente, puedes crear una función que agregue un valor a la pila del arreglo y que luego se llame a si mismo, pero tendrás problemas de desbordamiento de pila si no le das un límite y esto sucede en cualquier tipo de lenguaje de programación. También te recomiendo dar pausas de 1 segundo entre cada llamada recursiva e ir imprimiendo la cantidad de valores de la pila:
<?php
$abc = array();
function add()
{
global $abc;
$abc[] = null;
echo len($abc)."\n";
sleep(1);
add();
}
add();
Ahora que entiendes la idea, si necesitas hacerlo en otro lenguaje de programación, sea java, c, c++, c#, etc, necesitarás comprender el código y llevarlo a tu programa.
Saludos.