First of all your code need a proper indentation. And in the above code while declaring an array your array size need to be const. something like this
printf("How many entries to define?\n");
struct entry list[num];
it cant depend on a variable. C standard.
struct entry list;
use this function here
while((ch=getchar()) != '\n' && ch != EOF);
This clears the input buffer. That u got avoid using scanf funtion. And the problemw which u where getting likely because of scanf.
letter = getchar();
array[j] = letter;
and u got tocheck for boundry of the array. becuase C dosn't check for array boundries
printf("%s\n",list -> definition);
printf("Do you wish to make another entry(y/n)?");
}while(answer != 'n' && i < num); //end entire loop