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