I'm trying to dynamically allocate space for the following in C and I was wondering if someone could explain how to? char\* (\*vehicle)[][5];

The 5 elements are details of the vehicle and the first array is for the different vehicles. So I'm trying to dynamically allocate space for the different vehicles, numVehicles and each with 5 spots for string details. Doing the code below would allocate just the rows, but since the definition has 5 specified, do I need to multiple the number of vehicles in my allocation? Also, this data type is from the api, so I unfortunately can't change it and I'm not sure of the type vehicle, I was under the impression that the variable name. 

Currently I'm doing:

```
char* (*vehicle)[][5];

vehicle = malloc(sizeof(char*) * numVehicles);

```

This appears to work in the code but I feel like I'm not doing the allocation correctly.