Passage et retour de variables en C
Je suis en train de passer des variables d'une fonction à l'autre.
Comme par exemple:
(FuncA: en 3 entrées de l'utilisateur et je veux utiliser ces 3 entrées dans FuncB.
Comment dois-je procéder? Aurais-je simplement retourner les 3 valeurs de (FuncA et il suffit de passer en paramètre de la touche Func B?
Je ferais quelque chose comme ça?
**Sans l'aide de pointeurs.
int FuncA(void);
int FuncB(int A, int B, int C, int D, int E);
int main(void)
{
FuncA(void);
FuncB(A,B,C);
}
int FuncA(void)
{
printf("Enter 3 number:");
scanf("%d %d %d" &A, &B, &C);
return A, B, C;
}
int FuncB(int A, int B, int C)
{
.............
}
return A,B,C;
ne retour C
valeur. De la main gauche opérande de virgule expressions n'a aucun effet.OriginalL'auteur Thao Nguyen | 2011-02-27
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous ne pouvez
return
une valeur par une fonction. Ce sera probablement vous demander, "comment est-il possible d'obtenir les valeurs de A, B et C (FuncA?"Que savez-vous sur les pointeurs? La solution va être difficile à comprendre si vous n'avez pas de prise ferme de ce que les pointeurs sont et comment ils fonctionnent.
La solution est de passer de 3 pointeurs (un pour Un, B, et C) de sorte que (FuncA de lui affecter une valeur. Ce n'utilise pas le
return
mot-clé. C'est l'affectation de valeurs à un endroit précis dans la mémoire qui est, A, B, et C.Maintenant que A, B et C contiennent l'entrée de l'utilisateur, nous pouvons transmettre ces valeurs à FuncB. Vous code final devrait ressembler à ceci:
OriginalL'auteur Marlon
Une approche:
OriginalL'auteur Jim Balter
Je voudrais configurer votre système comme ceci:
OriginalL'auteur Tim Cooper
(FuncA est en retournant un int. En supposant que vous voulez l'appeler FuncB avec A,B,C parametersa et retourner à l'appelant de (FuncA quelle que soit FuncB retourne, vous voulez quelque chose de ce genre.
OriginalL'auteur Bala R
Déclarer A, B et C sont des variables globales:
et y accéder à partir de n'importe quelle fonction, si les paramètres ou pas. Ou de les déclarer statique globals pour limiter les dégâts de la mondial de portée.
La Question a été fermé, comme si les variables globales sont bonne ou mauvaise, est simplement une question d'opinion et de contexte. Par exemple, leur utilisation peut compiler en moins de code sur un système avec 2k de mémoire ou moins.
OriginalL'auteur hotpaw2