Redeclaración de variable global en C

Considere los siguientes dos programas:

// Program 1
int main()
{
   int x;
   int x = 5;
   printf("%d", x);
   return 0; 
}

Salida en C:

redeclaration of ‘x’ with no linkage
// Program 2
int x;
int x = 5;
  
int main()
{
   printf("%d", x);
   return 0; 
}

Salida en C:

5

En C, el primer programa falla en la compilación, pero el segundo programa funciona bien. En C++, ambos programas fallan en la compilación.


C permite que una variable global se declare nuevamente cuando la primera declaración no inicializa la variable.

El siguiente programa falla tanto en C como la variable global se inicializa en la primera declaración.

int x = 5;
int x = 10;
  
int main()
{
   printf("%d", x);
   return 0;
}

Producción:

 error: redefinition of ‘x’

Este artículo es aportado por Abhay Rathi . Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *