I think your problem in this code:
scanf("%9s", NameList[0]);
, scanf , , , . -, , scanf , , .
. -, NameList, char *. , char * - , . char **, char * s. :
char** NameList;
. , . -, , :
NameList = malloc (sizeof(char*) * NumItems);
, , . , , , - 10:
int i;
for (i = 0; i < NumItems; ++i)
NameList[i] = malloc (10);
scanf("%9s", NameList[0]);
NameList[0] - char *, , .
- , , , . . , char * s, , , , char * , - . , , , , .
, , , . :
for (i = 0; i < NumItems; ++i)
free (NameList[i]);
free (NameList);
, free . .
, :
free (NameList);
for (i = 0; i < NumItems; ++i)
free (NameList[i]);
, Bad Things, , , , , .
, !