riuscite a capire perchè digitando in input 100 non mi si presentano problemi di memoria ?

codice:
#define MAX 50

struct nodo {
  int info;
  int w;
  struct nodo *next;
};

//-----------------------------------------------------------------------------
/*
 *  Legge in input il grafo e lo rappresenta attraverso
 *  n liste di adiacenza.
 */

struct nodo *leggi_lista(void) 
{
      struct nodo *p, *primo=NULL;
      for (int i=0; i<10; i++) 
     {
            p = (nodo *)malloc(sizeof(struct nodo));
            p->info=5;
            p->w=2;
            p->next = primo;
            primo = p;
     }

     return(primo);
}
//-----------------------------------------------------------------------------
int leggi_grafo(struct nodo *G[]) {

  int n;
  printf("Numero di vertici: ");
  scanf("%d", &n);
  for (int i=0; i<n; i++) {
    printf("Lista di adiacenza del vertice %d.\n", i);
    G[i] = leggi_lista();
  }
  return(n);
}

//-----------------------------------------------------------------------------

int main(void)
{
    int n;
    struct nodo *G[MAX];

    n = leggi_grafo(G);
}