leggersi bene la documentazione delle funzioni che si utilizzano, non è mai tempo perso...

nel primo caso "vip" alloca "n" caratteri (in cui "n" invece viene presentato come numero di elementi) per riga.
Nel secondo "Caiodark" alloca un carattere per riga.

La documentazione in mio possesso dice:
void * calloc(size_t count, size_t size);
The calloc() function contiguously allocates enough space for count
objects that are size bytes of memory each and returns a pointer to the
allocated memory. The allocated memory is filled with bytes of value
zero. calloc() returns a NULL pointer if there is an error.
da cui si intuisce che l'argomento "count" è il numero degli elementi di dimensione "size" da allocare.