Unten ist die Darstellung für Person
,Zuordnung (const char *) Zeigertyp - Segmentation fault
typedef struct{
const char *firstName;
const char *lastName;
}PersonDetails;
typedef struct{
const long *sinKey;
PersonDetails *value;
}Person;
wo bevölkern die firstName
Mitglied Segmentierungsfehler erzeugt,
int main(void){
....
Person *person = malloc(sizeof(Person));
const long key1 = 364222888L;
printf("Before key assignment\n");
person->sinKey = &key1;
printf("Before first name assignment\n");
person->value->firstName = "Sham";
printf("Before last name assignment\n");
person->value->lastName = "S";
....
}
const char *firstName
enthält eine unveränderliche Zeichenfolge. Diese unveränderliche Zeichenfolge wird im Abschnitt .rodata
gespeichert. firstname
kann den Zeigepunkt ändern.
Aber unten ist die Ausgabe,
$ ./pq.exe
...
Before key assignment
Before first name assignment
Segmentation fault (core dumped)
Wie dieses Problem zu lösen?
'Wert' ist nicht zugeordnet ... – LPs