In questo semplice programma (l'ho scritto solo per fare un esempio e capire l'errore) passo alla funzione un array che viene riempito e poi stampato dalla funzione, quando lo stesso array però viene stampato dal main i valori sono sballati come se avesse "perso la traccia" di dove si trova l'array.
Sto sbagliando qualcosa nel passaggio quello lo so, come posso risolvere? (vorrei passare l'array senza return ma direttamente per indirizzo).
#include <stdio.h>
#define MAX 5
void riempi_array(int *array);
int main(int argc, char * argv[]){
int arr[MAX], i;
riempi_array(&arr[MAX]);
for(i=0; i<MAX; i++)
printf("%d ", arr[i]);
return 0;
}
void riempi_array(int *array){
int i;
for(i=0; i<MAX; i++)
array[i]=i;
for(i=0; i<MAX; i++)
printf("%d ", array[i]);
}
Grazie in anticipo