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;    
    }