Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Comprendre les règles de portée en C : Variables locales, globales et formelles

La portée est la région du programme où une variable définie existe et est accessible. Au-delà, elle ne peut pas être accédée. Trois endroits pour déclarer des variables en C :

Variables locales

Déclarées dans une fonction/bloc. Utilisables seulement par les instructions de cette fonction/bloc. Inconnues des autres fonctions.

#include <stdio.h>
int main() {
    int a = 10, b = 20, c = a + b;
    printf("a = %d, b = %d, c = %d\n", a, b, c);
    return 0;
}

Variables globales

Définies hors fonctions, généralement en haut du programme. Conservent leur valeur toute la durée du programme. Accessibles depuis n'importe quelle fonction.

#include <stdio.h>
int g;  // globale

int main() {
    int a = 10, b = 20;
    g = a + b;
    printf("a = %d, b = %d, g = %d\n", a, b, g);
    return 0;
}

Même nom possible pour locale et globale : la locale a priorité dans sa fonction.

#include <stdio.h>
int g = 20;  // globale
int main() {
    int g = 10;  // locale masque la globale
    printf("g = %d\n", g);  // affiche 10
    return 0;
}

Paramètres formels

Traitées comme variables locales dans la fonction, prioritaires sur les globales de même nom.

#include <stdio.h>
int a = 20;  // globale

int sum(int a, int b) {  // a, b sont formels
    printf("a dans sum() = %d\n", a);
    printf("b dans sum() = %d\n", b);
    return a + b;
}

int main() {
    int a = 10, b = 20, c = 0;
    printf("a dans main() = %d\n", a);
    c = sum(a, b);
    printf("c dans main() = %d\n", c);
    return 0;
}

Résultat :

a dans main() = 10
a dans sum() = 10
b dans sum() = 20
c dans main() = 30

Initialisation des variables locales et globales

Variable locale : non initialisée par le système → initialisez-la vous-même. Variable globale : initialisée automatiquement par le système :

TypeValeur par défaut
int0
char'\0'
float0
double0
pointeurNULL

Bonne pratique : initialisez toujours vos variables, sinon elles contiennent des valeurs indéterminées (garbage).

Langue C

  1. Règles clés des circuits série : courant, résistance et tension
  2. Fondamentaux des circuits parallèles : règles de tension, résistance et courant
  3. Règles de dérivation essentielles : aide-mémoire rapide
  4. Règles fondamentales des primitives : constantes, sommes et différences
  5. Maîtriser les variables C# et types de données primitifs : guide complet
  6. Comprendre la portée des variables en C# : Niveaux classe, méthode et bloc
  7. Maîtriser les variables, littéraux et constantes en C++ : Guide complet
  8. Variables, constantes et littéraux en C : Guide complet
  9. Comprendre les classes de stockage en C : Portée, durée de vie et performance