ciao ragazzi prendendo spunto da un libro ho creato un vettore dinamico di 10 elementi e ho pensato di gestirlo come in matematica si fa con le matrici (cioè con elementi che vanno da 1 a n )
codice:
#include <stdio.h>
#include <stdlib.h>
/* esercizio 2 */
int main ()
{
int *m ;
int n = 10 ;
int i ;
m = (int*) malloc (sizeof (int) * n ) ;
m-- ; /* non capisco questo pezzo */
for ( i = 1 ; i <= 10 ; i++ )
m[i] = 1 + rand () % 10 ;
for (i = 1 ; i <= 10 ; i++ )
fprintf(stdout ,"%d\n" , m[i] ) ;
free(m) ;
system ("PAUSE") ;
return 0 ;
}
dopo aver allocato lo spazio nella memoria con Malloc ho usato
per cambiare il primo elemento da 0 a 1 (prendendo spunto dal suddetto libro)
ora il programma mi genera un errore nell' HEAP ;
ho due domande da porvi :
1) in che modo "m-- " riesce a "slittare" gli elementi da "0-9" a "1-10" ,
e
2) da dove salta fuori quell'errore
grazie