PDA

Visualizza la versione completa : [C] Recuperare il valore di un elemento struct da una lista


ariok
28-11-2005, 17:13
Ciao a tutti avrei il seguente quesito da porvi :P

Allora ... ho un struttura complessa cosi' composta


struct nodo NODE {
struct persona PERS;
struct nodo *next;
}
ora tenendo conto che la struttura "persona" e' composta da un campo nome e da un campo eta'.

se io volessi recuperare dalla struttura NODE, il nome di una persona come potrei fare?



struttura->persona->nome ????

sapreste darmi una mano? grazie mille

suomi_viking_86
28-11-2005, 17:19
puoi usare NODE.PERSONA.NOME
in una struct si accede per nome della variable...
la sintassi è NOMESTRUCT.NOMEVARIABILE

Michele Facchin
28-11-2005, 22:23
Originariamente inviato da ariok
Ciao a tutti avrei il seguente quesito da porvi :P

Allora ... ho un struttura complessa cosi' composta


struct nodo NODE {
struct persona PERS;
struct nodo *next;
}
ora tenendo conto che la struttura "persona" e' composta da un campo nome e da un campo eta'.

se io volessi recuperare dalla struttura NODE, il nome di una persona come potrei fare?



struttura->persona->nome ????

sapreste darmi una mano? grazie mille

Il codice C è il più bello che esista, e va scritto in maniera leggibile e accurata :)



#include <stdio.h>
#include <stdlib.h>

int main() {
struct persona {
int eta;
};
struct NODE {
struct persona PERS;
struct nodo *next;
};

struct NODE nodo;
nodo.PERS.eta = 3;

printf ("%d \n", nodo.PERS.eta);

/* with pointer ;) */

struct NODE *p;
p = &nodo;
printf ("%d \n", p -> PERS.eta);

system("PAUSE");
return (0);
}


Ciao bello! :fighet:

ariok
30-11-2005, 01:02
Originariamente inviato da Michele Facchin



system("PAUSE");
return (0);



Ciao bello! :fighet:

Ciao grazie mille per i consigli e per aver risposto al volo al mio msg!!!
Solo una cosa.... questo SYSTEM("PAUSE") chiama in realtà un'applicazione esterna che mette in delay il mio programma.... se eseguo questo pogramma su linux funziona?

unomichisiada
30-11-2005, 02:05
Originariamente inviato da ariok
Ciao grazie mille per i consigli e per aver risposto al volo al mio msg!!!
Solo una cosa.... questo SYSTEM("PAUSE") chiama in realtà un'applicazione esterna che mette in delay il mio programma.... se eseguo questo pogramma su linux funziona?
Non penso proprio!

oregon
30-11-2005, 08:41
PAUSE e' un comando di MSDOS ...

Loading