#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{
char *arr;
struct node *next;
} node;
int main()
{
char *word = (char *)malloc(sizeof(char) * 20);
strcpy(word, "jon jones");
node *sentence;
sentence->arr = word; //Problem here
printf("%s", sentence->arr);
return 0;
}
Ich versuche, ein Zeichen-Array dynamisch zuzuweisen. Setzen Sie eine Zeichenfolge ein und stellen Sie das Datenelement des Knotens auf das Zeichenfeld. Wenn ich das Programm starte, bekomme ich einen Segmentierungsfehler. Ich vermute, dass es von der Linie ist, die ich oben beschriftet habe. Was ich nicht verstehe, ist, dass ich Satz-> arr Punkt auf das erste Element des Wortfeldes setze. Warum würde es so abstürzen? Danke im Voraus.macht einen Zeiger auf ein Array von Zeichen in c
Hinweis off topic: Es gibt [keine Notwendigkeit] (http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc) um ein Ergebnis von 'malloc' zu werfen – red0ct