Sto riscontrando problemi nel creare un database basato su un elenco collegato singolarmente in C, , non a causa del concetto di elenco collegato, ma piuttosto dei campi stringa nella struttura stessa.Come lavorare con i campi stringa in una struct C?
Questo è un compito in C e per quanto ne so (sono un novizio), C non riconosce 'stringa' come tipo di dati.
Questo è ciò che il mio codice struct assomiglia:
typedef struct
{
int number;
string name;
string address;
string birthdate;
char gender;
} patient;
typedef struct llist
{
patient num;
struct llist *next;
} list;
stavo pensando di fare una struttura per le stringhe se stessi in modo che li posso utilizzare nella struct, in questo modo:
typedef struct string
{
char *text;
} *string;
Quindi eseguirò uno o l'altroquando è necessario creare nuovi dati del tipo di stringa (matrice di caratteri).
typedef struct string
{
char *text;
} *string;
int main()
{
int length = 50;
string s = (string) malloc(sizeof string);
s->text = (char *) malloc(len * sizeof char);
strcpy(s->text, patient.name->text);
}
Qualcuno può aiutarmi a capirlo?
Grazie.
Si [non dovrebbe digitare] (http://stackoverflow.com/questions/605885/do-i-cast-the-result-of-malloc/605858#605858) mentre si utilizza malloc. –
No. 'patient' non è dichiarato globalmente, è un typdef. Ma anche se fosse globale, non lo avresti inizializzato in questo modo. – kralyk
@kralyk - corretto, me ne sono reso conto e corretto. – Attila