Maison  >  Article  >  développement back-end  >  Redéclaration des variables globales dans le programme C

Redéclaration des variables globales dans le programme C

WBOY
WBOYavant
2023-09-20 22:29:051296parcourir

Redéclaration des variables globales dans le programme C

Nous verrons comment C et C++ se comportent différemment lors de la redéclaration d'une variable globale sans initialisation, de la redéclaration d'une variable globale avec initialisation, de la redéclaration d'une variable globale et de son initialisation deux fois. De plus, nous répéterons la combinaison ci-dessus en utilisant des variables locales.

1. A) Programme C : Re-déclaration de variables globales sans initialisation

#include <stdio.h>
int var;
int var;
int main(){
   printf("Var = %d",var);
   return 0;
}

Output

Var = 0

B) Programme C++ : Re-déclaration de variables globales sans initialisation

#include <iostream>
using namespace std;
int var;
int var;
int main(){
   cout<<"Var = "<<var;
   return 0;
}

Output

Compilation Error: int var;
main.cpp:3:5: note: &lsquo;int var&rsquo; previously declared here

Résultat :- C Autoriser la redéclaration des variables globales sans initialisation. La valeur est toujours 0. C++ donne une erreur de compilation indiquant que la variable a été redéclarée.

2. A) Programme C : Re-déclaration de variables locales sans initialisation

#include <stdio.h>
#include <stdio.h>
int main(){
   int var;
   int var;
   printf("Var = %d",var);
   return 0;
}

Output

error: redeclaration of &lsquo;var&rsquo; with no linkage

B) Programme C++ : Re-déclaration de variables locales sans initialisation

#include <iostream>
using namespace std;
int main(){
   int var;
   int var;
   cout<<"Var = "<<var;
   return 0;
}

Output

error: redeclaration of &lsquo;int var&rsquo;

Résultat :- C Ni C++ ni C++ n'autorisent la redéclaration de variables locales sans initialisation. Les deux programmes ne parviennent pas à se compiler.

3. A) Programme C : Re-déclarer les variables globales avec initialisation

#include <stdio.h>
int main(){
   int var;
   int var=10;
   printf("Var = %d",var);
   return 0;
}

Output

Var = 10

B) Programme C++ : Re-déclarer les variables globales avec initialisation

#include <iostream>
using namespace std;
int var;
int var=10;
int main(){
   cout<<"Var = "<<var;
   return 0;
}

Output

main.cpp:7:9: error: redeclaration of &lsquo;int var&rsquo;
int var;

Résultat : -C permet la redéclaration Variable globale non initialisée. La compilation du programme C++ a échoué.

4. A) Programme C : Re-déclarez les variables globales et initialisez

#include <stdio.h>
int var;
int var=10;
int main(){
   printf("Var = %d",var);
   return 0;
}

Output

error: redeclaration of &lsquo;var&rsquo; with no linkage

B) Programme C++ : Re-déclarez les variables locales via l'initialisation

#include <iostream>
using namespace std;
int main(){
   int var;
   int var=10;
   cout<<"Var = "<<var;
   return 0;
}

Output

error: redeclaration of &lsquo;int var

Résultat : - C et C++ La redéclaration d'une variable locale n'est pas autorisée, même si elle n'est pas initialisée. Les deux programmes n'ont pas réussi à compiler

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer