Dynamiczna alokacja pamięci dla tablic wskaźników

Próbuję napisać program, który odczytuje ciąg ciągów z pliku tekstowego i zapisuje je w tablicy ciągów, dynamicznie przydzielając pamięć dla każdego elementu. Mój plan polegał na przechowywaniu każdego ciągu znaków w tablicy za pomocą wskaźnika, a następnie zwiększeniu rozmiaru tablicy, gdy więcej było odczytywanych. Mam problem z zrozumieniem, dlaczego mój poniższy kod testowy nie działa. Czy to działający pomysł?

char *aPtr;
aPtr =(char*)malloc(sizeof(char));

aPtr[0]="This is a test";


printf("%s",aPtr[0]);

questionAnswers(4)

yourAnswerToTheQuestion