Ich versuche ein Programm zu schreiben, das eine Reihe von Strings aus einer Textdatei einliest und diese in einem Array von Strings speichert, wobei dynamisch Speicher für jedes Element zugewiesen wird. Mein Plan war, jede Zeichenfolge in einem Array mit einem Zeiger zu speichern und dann die Array-Größe zu vergrößern, wenn mehr gelesen wurde. Ich habe Probleme zu verstehen, warum mein Testcode unten nicht funktioniert. Ist das eine praktikable Idee?Dynamische Speicherzuweisung für Zeigerarrays
char *aPtr;
aPtr =(char*)malloc(sizeof(char));
aPtr[0]="This is a test";
printf("%s",aPtr[0]);
Dies funktioniert nicht, weil Sie 'malloc' Platz für ein einzelnes Zeichen verwenden, und dann versuchen Sie, einem' char'-typisierten lvalue eine ganze Zeichenfolge zuzuweisen. –
Empfohlene Lektüre: [Wann sollte ich malloc in C verwenden und wann nicht?] (Http://StackOverflow.com/a/1963812/2455888). – haccks