Ragazzi, scusate la banalità della domanda, ma è il mio primo esercizio con la memoria dinamica
Il seguente codice riempie un vettore con numeri da 1 a 40, n volte (3 volte)
Non capisco il problema, arriva al printf (infatti stampa i numeri) e poi crasha... Avrò sbagliato il free?
codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *mazzo;
int i=0;
int j=0;
int n=3;
int k=0;
mazzo=malloc(sizeof(int));
while (j<n)
{
while (i<40) {
mazzo=malloc(sizeof(int));
mazzo[k]=i+1;
i=i+1;
k=k+1;
}
i=0;
j=j+1;
}
for (i=0; i<n*40; i++)
printf("\n%d", mazzo[i]);
free(mazzo);
system("pause");
return 0;
}