Dynamique et statique de la Portée du programme de différences

int x;

int main() {
   x = 14;
   f(); 
   g();
}

void f() {
   int x = 13;
   h();
}

void g() {
   int x = 12;
   h();
}

void h() {
   printf("%d\n",x);  
}

Si statique de la portée est utilisé, quel est le résultat? Si dynamique de la portée est utilisé, quel est le résultat?

Maintenant, si je comprends la portée droit, la différence entre statique et dynamique de la portée est que statique permet de variables locales à une classe. Ainsi, la valeur x local à void f(), void g() et int main () et dynamique de les rendre disponibles au niveau mondial. Je ne suis pas sûr de la façon de l'appliquer à ce code. Si statique de la portée a été utilisé serait-il imprimer uniquement la dernière valeur (12 void g()) et dynamique de la portée serait d'utiliser toutes les valeurs de x?

Je suis un peu confus sur la façon de cadrage fonctionne réellement. Je sais C utilise statique de portée si.

  • C++ a seulement statique de la portée.
InformationsquelleAutor user1789951 | 2013-10-19