Guarda, se vuoi eliminare i vettori e usare solo i puntatori potresti allocare memoria e inizializzare gli elemento uno per uno.
E' il metodo più lungo perchè devi stare ad inizializzarli uno per uno:
codice:
static char **daytab;
daytab=(char**)malloc(2*sizeof(char*));
daytab[0]=(char*)malloc(13*sizeof(char));
daytab[1]=(char*)malloc(13*sizeof(char));
E qui viene la parte noiosa:
codice:
daytab[0][0]=0;
daytab[0][1]=31;
...
daytab[1][0]=0;
...
daytab[1][12]=31;
C'è da dire però che siccome il secondo array è quasi uguale al primo, eccetto il terzo elemento che è 29 invece di 28, potresti fare:
codice:
// dopo aver inizializzato il primo array
for(int i=0;i<13;i++)
daytab[1][i]=daytab[0][i];
daytab[1][2]=29;