Ho dichiarato due variabili globali con lo stesso nome in C. Dovrebbe dare un errore in quanto non è possibile dichiarare le stesse variabili del nome nella stessa classe di memoria.Dichiarazione di due variabili globali con lo stesso nome in C
L'ho controllato in C++ - dà un errore di compilazione, ma non in C. Perché?
seguito è il codice:
int a;
int a = 25;
int main()
{
return 0;
}
controllo fuori a: Code Written at Ideone
Penso che questo è probabilmente il motivo per
Declaration and Definition in C
Ma questo non è il caso in C++ . Penso che in C++, indipendentemente dal fatto che la variabile sia dichiarata nell'ambito globale o dall'ambito automatico, la dichiarazione e la definizione avvengono contemporaneamente.
Qualcuno potrebbe gettare un po 'di luce su di esso.
Ora quando definisco la variabile due volte dandogli il valore due volte mi dà l'errore (invece di una dichiarazione e una definizione).
Codice: Two definitions now
int a;
int a;
int a;
int a = 25;
int main()
{
return 0;
}
@ H2CO3 .. grazie per il tuo suggerimento ma stavo solo cercando di capire cosa stesse succedendo. Ma ci sono alcune situazioni in cui non puoi nemmeno evitare di usare le variabili globali. –