PDA

Visualizza la versione completa : [C] struct e union


gstefi
27-01-2004, 10:41
Ho una struttura complessa del tipo:

struct ingr {
int temp[4];
union {
struct {
char ts_C[3];
char ts_L[3][4];
} ent;
char v[1];
} ts;
union {
struct {
int tm_I[2][3];
} ent;
int v[1];
} tm;
};

Qual è il modo più semplice e veloce per inizializzare questa struttura (con valori tutti a 0 (anche per i char)) senza usare cicli (ho necessità di commentare le singole assegnazioni...)?
Grazie

pela
27-01-2004, 13:15
penso che così dovrebbe andare:


struct ingr a={0};

gstefi
27-01-2004, 13:56
purtroppo ho bisogno di inizializzare i singoli valori
(magari non tutti a 0) perchè devo commentarli uno per uno...

Athanasius
27-01-2004, 15:42
Allora li devi settare uno ad uno!
In fondo sono solo qualche ria in +! :mavieni:

gstefi
27-01-2004, 15:44
:stordita:
Lo so che li devo settare uno a uno ma dato che non
sono pratica di C volevo un esempio...

Athanasius
27-01-2004, 15:58
struct ingr {
int temp[4];
union {
struct {
char ts_C[3];
char ts_L[3][4];
} ent;
char v[1];
} ts;
union {
struct {
int tm_I[2][3];
} ent;
int v[1];
} tm;
};
Per Prima cosa cerca di scrivere meglio questa struttura !
Non riesco a capire se è un unica struttura o più strutture innestate.
Se è cosi dichiara per prima le strutture più interne fino ad arrivare al guscio.

Poi...
Per accedere ai singoli elementi della struttura si utilizza l'operatore "." Tipo " mia_struct.campo=valore_campo "

Spero di aver reso bene l'idea.

Athanasius
27-01-2004, 16:06
struct ingr {
int temp[4];
union {
struct {
char ts_C[3];
char ts_L[3][4];
} ent;
char v[1];
} ts;
union {
struct {
int tm_I[2][3];
} ent;
int v[1];
} tm;
};
Per Prima cosa cerca di scrivere meglio questa struttura ! :nonono:
Non riesco a capire se è un unica struttura o più strutture innestate.
Se è cosi dichiara per prima le strutture più interne fino ad arrivare al guscio.

Poi...
Per accedere ai singoli elementi della struttura si utilizza l'operatore "." Tipo " mia_struct.campo=valore_campo "

Spero di aver reso bene l'idea. :bhò:

Loading