Problema Funzioni e Array

di il
1 risposte

Problema Funzioni e Array

Mmm...la dimensione degli array mi mette un pochino in difficoltà.

Se io per esempio ho:

int stampa_array(int Tot, int array[Tot])
{
int i;
for(i=0;i<Tot;i++)
    {printf("%d\n", array[i]);}
}

int main() {
int Dimensione;
scanf("%d", &Dimensione);
int i, array[Dimensione];
for(i=0; i<Dimensione; i++)
   {scanf("%d", &array[i]);
   }
stampa_array(Dimensione, array);
return 1;
}
In pratica mi serve una funzione che prenda un array come parametro, ma la dimensione di questo array la so solo nel main. Ovviamente la versione che ho scritto io non funziona.

Ah, so che la dimensione <= 1 000 000.

1 Risposte

  • Re: Problema Funzioni e Array

    Se la dimensione lo sai solo a run-time devi usare l'allocazione dinamica.
    
    int *array = NULL;
    int Dimensione = 0;
    scanf("%d", &Dimensione);
    array = (int *)malloc(Dimensione * sizeof(int));
    ..........
    free(array);
    
    la funzione sarà del tipo
    
    void stampa_array(int Tot, int array[]);
    
Devi accedere o registrarti per scrivere nel forum
1 risposte