Uso de malloc para la asignación de matrices multidimensionales con diferentes longitudes de fila

Tengo los siguientesC código:

int *a;
size_t size = 2000*sizeof(int);
a = (int *) malloc(size);

que funciona bien. Pero si tengo lo siguiente:

char **b = malloc(2000*sizeof *b);

donde cada elemento deb tiene diferente longitud.

¿Cómo es posible hacer lo mismo parab como lo hice paraa; es decir, el siguiente código sería correcto?

char *c;
size_t size = 2000*sizeof(char *);
c = (char *) malloc(size);

Respuestas a la pregunta(8)

Su respuesta a la pregunta