Table des matières:
Vidéo: Langage C Darija notions de base Variable ,Affichage,Lecture #Partie 01 2024
Parfois, en programmation C, une variable doit être comme un service de téléphonie cellulaire: disponible partout. La variable peut également être utilisée par n'importe quelle fonction à tout moment. Ce type de variable peut être appelé une variable universelle . Cela pourrait être appelé une variable dans le monde . Mais en C, on parle de variable globale .
Comment utiliser les variables globales
Les variables globales résolvent des problèmes spécifiques en rendant la déclaration de variable universelle. Ainsi, n'importe quelle fonction du programme peut accéder à la variable. Il ne doit pas être passé ou renvoyé d'une fonction.
Lancer votre âge indique comment une variable globale est déclarée et utilisée. Les variables globales age et float sont affectées par les deux fonctions. Ils peuvent être passés à ces fonctions, mais les deux valeurs ne peuvent pas être retournées. (Les fonctions C renvoient une seule valeur.) Par conséquent, la variable globale est utilisée comme solution.
AFFRONTEZ VOTRE ÂGE AUTOUR DE
#include la moitié du vide (vide); annuler deux fois (vide); int âge; pieds flottants; int main () {printf ("Quel âge avez-vous:"); scanf ("% d", & age); printf ("Quelle est votre taille (en pieds):"); scanf ("% f", & pieds); printf ("Vous avez% d ans et%.f pieds pieds n", âge, pieds); moitié(); deux fois(); printf ("Mais vous n'avez pas vraiment% d ans ou%.f pieds de haut.", âge, pieds); return (0);} void half (vide) {float a, h; a = (flottant) âge / 2. 0; printf ("La moitié de votre âge est%.f 1", a); h = pieds / 2. 0; printf ("La moitié de votre taille est%. 1f. n", h);} void deux fois (void) {age * = 2; printf ("Deux fois votre âge est% d. n", âge); pieds * = 2; printf ("Deux fois votre taille est% 1fn", pieds);}
Line 6 déclare la variable int globale age et la variable flottante feet . Ce sont des variables globales car elles sont déclarées en dehors de toute fonction, là-haut dans #include, #define et prototyping land. Les variables sont ensuite utilisées dans chaque fonction. Leurs valeurs peuvent être consultées dans tout le code. Même lorsque ces valeurs sont modifiées dans la fonction twice (), la fonction main () utilise les nouvelles valeurs.
Notez que deux instructions printf () dans la fonction main () enveloppent leur texte dans Tossing Your Age Around. Vous n'avez pas besoin d'envelopper ces instructions dans un éditeur de texte; Il suffit de les taper sur une seule ligne.
Exercice 1 : Tapez le code source de Tossing Your Age Around dans votre éditeur, en créant un nouveau programme. Construire et courir.
Ne soyez pas fainéant sur l'utilisation de variables globales! Si vous pouvez passer une valeur à une fonction, faites-le! C'est correct. Trop de programmeurs indolents déclarent toutes leurs variables globales pour "résoudre le problème."C'est bâclé et impropre.
De bons exemples de variables globales incluent des informations que toutes les fonctions du programme devraient connaître, telles que les informations de l'utilisateur ou si vous êtes en ligne ou si le texte est affiché ou masqué. Dans ce cas, envisagez de rendre ces variables globales à la place.
Comment créer une variable de structure globale
Un meilleur exemple d'utilisation d'une variable globale et d'une situation dans laquelle les variables globales sont absolument nécessaires est lors de la transmission d'une structure à une fonction. Dans ce cas, vous devez déclarer la structure comme globale afin que toutes les fonctions puissent accéder aux variables de ce type de structure.
Ne laissez pas la longueur massive du passage d'une structure à une fonction vous intimider! La plupart des "vrais" programmes que vous finirez par écrire seront beaucoup plus longs!
TRANSFERT D'UNE STRUCTURE A UNE FONCTION
#include #include #include #define TAILLE 5 struct bot {int xpos; int ypos;}; struct bot initialize (struct bot b); int main () {struct robot robots [TAILLE]; int x; srandom (temps non signé) (NULL)); Pour (x = 0; xPour passer une structure à une fonction, la structure doit être déclarée globalement, ce qui arrive entre les lignes 7 et 10. Cela doit arriver avant même que la fonction soit prototypée, ce qui a lieu à la ligne 12.
La fonction initialize () s'exécute des lignes 30 à 41. La structure est passée à la fonction et renvoyée Notez que la variable de structure doit être entièrement définie comme l'argument Sur la ligne 30, la fonction reçoit le nom de la variable b dans la fonction
L'instruction return de la ligne 40 renvoie la structure à la fonction appelante, en effet, la fonction initialize () est définie comme une fonction de type bot de structure. Valeur
Exercice 2 : Visez votre courage à l'endroit où vous vous en tenez et tapez toutes les lignes du code source de Passer d'une structure à une fonction dans votre éditeur. La sortie montre comment le tableau de structure a été transmis (un élément à la fois) à une fonction, modifiée dans la fonction. tion, puis renvoyé.