Maison > développement back-end > C++ > Comment partager des variables globales entre plusieurs fichiers C/C ?

Comment partager des variables globales entre plusieurs fichiers C/C ?

Barbara Streisand
Libérer: 2024-12-07 17:13:12
original
458 Les gens l'ont consulté

How to Share Global Variables Between Multiple C/C   Files?

Accès aux variables globales dans plusieurs fichiers en C/C

Lorsque vous travaillez avec plusieurs fichiers sources dans un programme C/C, il est souvent nécessaire de partager des variables globales entre eux. Ceci peut être réalisé par diverses méthodes, notamment des déclarations statiques et externes ou en utilisant un fichier d'en-tête.

Considérez l'exemple fourni :

source1.cpp:

int global;

int function();

int main()
{
    global = 42;
    function();
    return 0;
}
Copier après la connexion

source2.cpp:

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
Copier après la connexion

Solution 1 : Fichier d'en-tête avec extern

L'approche préférée consiste à déclarer la variable globale extern dans un fichier d'en-tête inclus par les deux sources fichiers :

common.h:

extern int global;
Copier après la connexion

source1.cpp:

#include "common.h"

int global;  // Only define it in one file

int function();

int main()
{
    global = 42;
    function();
    return 0;
}
Copier après la connexion

source2 .cpp :

#include "common.h"

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
Copier après la connexion

Cela garantit que la déclaration de global est visible à la fois fichiers source, mais une seule définition de celui-ci est présente (dans source1.cpp). Le mot-clé extern précise que la variable est déclarée ailleurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal