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
codice:
m-- ;
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