no, quella parte va ... ok, questo e' un esempio completo di quello che sto cercando di fare:
codice:
int i = 0,
    j = 0,
    length = 5,
    *array = malloc(length * sizeof(int));
while(i < length)
    array[i] = i++;
while(length){
    i = 0;
    while(i++ < length){
        j = array[0];
        array++;
        array[length - 1] = j;
    }
    for(i = 0; i < length; i++)
        printf("%i ", array[i]);
    printf("\n");
    array++;
    length--;
}
lo so che puo' sembrare strano, ma mi serve farlo ... ed il problema nasce quando metto length a 100, 1000 o 3000 ... ma non sono riuscito a risolvere.