|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2010
Messaggi: 3
|
[C] struct allocate dinamicamente
salve a tutti e grazie per l'eventuale
ho una struct dichiarata in questo modo typedef char* string; typedef struct{ string nome; string cognome; string data_nascita; }persona; e un prototipo di funzione così dichiarato persona* crea_nuova_persona(const string nome,const string cognome,const string data_nascita); quello che devo fare è creare dinamicamente una nuova istanza della struttura persona e inizializzarla con i valori passati come parametri.. ma ho provato di tutto...con malloc e altro...ogni volta che utilizzo la funzione strcpy si blocca tutto aiutatemi |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2003
Città: Tradate
Messaggi: 396
|
Tu hai allocato il puntatore a char, non lo spazio di memoria che realmente serve.. Per quello si blocca sulla strcpy che tenta di copiare dove non e' stata allocata la memoria..
quindi, o fai una malloc per ogni campo prima di copiare oppure allochi direttamente cosi': typedef struct{ char nome[dim]; char cognome[dim]; char data_nascita[dim]; }persona; Dove dim e' un intero.. ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:06.