struct set { int filled; int size; char **data; }; struct set *createSet(int maxElts) { struct set *sp; if ((sp=malloc(sizeof(struct set)))==NULL) { printf("Failed to allocate memory!\n"); abort(); } sp->filled=0; sp->size=maxElts; if ((sp->data=malloc(sizeof(char *)*maxElts))==NULL) { printf("Failed to allocate memory!\n"); abort(); } if (sp->data[0]==NULL) //I wanted this to be allocated in such a way that I could use it as an array at ...