Verwijder nu de reactie aanduiding in de "laatste" lijn en probeer de code opnieuw; zult u een foutmelding tijdens het compileren, omdat een identifier in een functie blok verklaard niet buiten de functie blok kan worden gezien. De voor Construct en Identifier Scope de volgende code is vergelijkbaar met de hierboven (alles in de belangrijkste blok) geschreven; de identifiers en test (druk) verklaringen zijn geschreven op een soortgelijke manier.
Lees en probeer de volgende code: #include int main () {int myInt = 40; int i = 0; for (i = 0; i {printf ("% i", myInt); printf ("\\ n"); int herInt = 50;} //printf ("% i", herInt); return 0;} Je moet de code hebben geprobeerd. Merk op dat identificatie buiten de voor-blok is te zien in de voor-blok verklaard. In dit geval is de waarde van de identifier wordt 3 keer gedrukt.
Verwijder nu de reactie aanduiding in de "laatste" lijn en probeer de code nogmaals, zal u een foutmelding tijdens het compileren Een id binnen verklaard ontvangen, omdat een identificatie verklaard in de voor blok kan niet worden buiten het gezien blok Aftrek blokken bestaan verschillende constructies Een id verklaard buiten blokken kunnen worden gezien binnen blokken... een blok kan niet buiten het blok te zien. De in deze tutorial principes zijn van toepassing op initialisaties ook. Bedenk dat de initialisatie is aangifte en opdracht.
Bestand Scope Als een geïdentificeerd wordt niet verklaard in een blok, zelfs niet in de belangrijkste functie blok, dan is dat identificatie wordt gezegd dat het bestand reikwijdte hebben. We zagen een voorbeeld boven toen we te maken hadden met de functie construct (myInt). Blokkeren Scope Een id in een blok verklaard kan worden gezien alleen in dat blok. Een dergelijke identificatie wordt gezegd dat het blok scope hebben.
Een blok in een blok Als een identifier in een blok wordt verklaard, kan worden gezien in een geneste blok? Het antwo