Lux6685
23-02-2014, 13:36
E' corretto, da punto di vista di una buona programmazione, operare nel main su una struct ma inserire in una funzione, che agisce solo su uno dei campi della struct, come argomento solo il tipo del campo e non tutta la struct?
mi spiego meglio con un esempio:
una struct del genere:
typedef struct
{
int x;
int y;
char f
char a[20];
} s
io voglio utilizzare una funzione per modificare solo il campo x della struct.
una funzione come questa:
void f (int i)
{
scanf("%d",&i);
};
scrivendo un main del genere:
int main()
{
s st;
.....
f(st.x);
....
}
è corretta? si può inserire come argomento della funzione un semplice intero e non una struct?
Dovrei invece scrivere la funzione così?
void f(s S)
{
scanf("%d",&S.x);
};
int main()
{
s st;
....
f(st);
....
}
funzionano entrambi i casi.... ma un buon programmatore cosa farebbe??
mi spiego meglio con un esempio:
una struct del genere:
typedef struct
{
int x;
int y;
char f
char a[20];
} s
io voglio utilizzare una funzione per modificare solo il campo x della struct.
una funzione come questa:
void f (int i)
{
scanf("%d",&i);
};
scrivendo un main del genere:
int main()
{
s st;
.....
f(st.x);
....
}
è corretta? si può inserire come argomento della funzione un semplice intero e non una struct?
Dovrei invece scrivere la funzione così?
void f(s S)
{
scanf("%d",&S.x);
};
int main()
{
s st;
....
f(st);
....
}
funzionano entrambi i casi.... ma un buon programmatore cosa farebbe??