Ho una variabile globale e una variabile locale con gli stessi nomi. Posso copiare la variabile locale nella variabile globale (assign) senza prima assegnare il valore della variabile globale ad una variabile temporanea (usando extern) e quindi assegnare la variabile temporanea alla variabile globale? Ho bisogno di fare qualcosa di simile:Come copiare la variabile locale sulla variabile globale se entrambi hanno lo stesso nome in C senza utilizzare una terza variabile?
#include<stdio.h>
int myVariable = 50;
void myFunction()
{
int myVariable;
myVariable /*global*/ = myVariable /*local*/;
}
C'è qualche modo in C per farlo (senza l'utilizzo di variabili temporanee (o puntatori in caso di array))? Ho trovato che è possibile in C++, Java o C# utilizzando parole chiave come questa, super, di base, ecc, ma non riusciva a trovare una soluzione in C.
Ho già accennato al How can I access a shadowed global variable in C?
Sì, è possibile. Non usare 'myVariable' in ambito locale. – deepmax
possibile duplicato di [Come posso accedere a una variabile globale ombreggiata in C?] (Http://stackoverflow.com/questions/618769/how-can-i-access-a-hadow-global-variable-in-c) – Macattack
Se è possibile scrivere codice per eseguire la copia, c'è qualcosa che ti impedisce di sostituire il nome della variabile locale con qualcosa che non sia in conflitto con il nome globale? – WhozCraig