typedef struct Value{
int id;
char type;
char a;
} Value;
void fooV(Value v){
v.id = 10;
v.type = 'L';
v.a = 'R';
}
int main(void){
Value v;
Pointer p;
int id = 5;
char type = 't';
char a = 'a';
printf("id: %d, type: %c, a: %c \n",id,type,a);
v.a = a;
v.id = id;
v.type = type;
fooV(v);
printf("id: %d, type: %c, a: %c \n",id,type,a);
}
sur l'appel fooV, valeur de la variable locale est créée ... donc pas de données dans l'appelant sera mis à jour Mais si je veux retourner les valeurs de fooV? Que devrais-je ajouter à fooV? Mercivaleurs de retour d'une struct
Juste une note: structs, comme tout le reste en C, sont transmis par valeur. La valeur d'une structure peut être énorme (en termes de 'sizeof struct') donc passer des pointeurs vers des structures est une bonne habitude à prendre en compte. – pmg