I have a 2-D array of characters e.g. char aList[numStrings][maxLength]. ideally, during program execution I want to be able to modify the contents of aList i.
char aList[numStrings][maxLength]
The situation you've described is precisely what malloc is for -- allocating a variable-length block of memory.