Я пытаюсь написать программу, которая читает в последовательности строк из текстового файла и хранит их в массиве строк, динамически выделяя память для каждого элемента. Мой план состоял в том, чтобы хранить каждую строку в массиве с помощью указателя, а затем увеличивать размер массива по мере того, как читалось больше. Мне трудно понять, почему мой тестовый код ниже не работает. Является ли это приемлемой идеей?Динамическое распределение памяти для массивов указателей
char *aPtr;
aPtr =(char*)malloc(sizeof(char));
aPtr[0]="This is a test";
printf("%s",aPtr[0]);
Это не работает, потому что вы используете пространство 'malloc' для одного символа, а затем пытаетесь присвоить целую строку символу l char. –
Рекомендуемое чтение: [Когда следует использовать malloc в C, а когда нет?] (Http://stackoverflow.com/a/1963812/2455888). – haccks