The simple way is
#define N 50
#define MAX_LENGTH 31
char names[N][MAX_LENGTH];
This gives you an array of 50 arrays of 30 characters. But if the maximum length of each name is 30 and the expected length is considerably less, you might be better off with dynamic allocation:
#define N 50...