Basis van de C Identifier Scope C Tutorials van Roots - Deel 19 Inleiding Dit is deel 19 van mijn serie, C Tutorials van Roots. In dit deel van de serie, kijken we naar wat identifier scope genoemd. Een blok is een reeks verklaringen omsloten door accolades, die {en}. De vraag is: als een identifier buiten een blok wordt verklaard zal worden gezien in het blok? Anderzijds, indien in het blok wordt aangegeven, wordt deze buiten het blok gezien? Blokken niet willekeurig optreden in de code. Er zijn bepaalde constructies die blokken. De volgende constructen blokken: als, en functie.
We hebben al deze constructen gezien. Voor de rest van deze tutorial, kijken we naar de als, en functie bouwt en hoe identifier omvang wordt toegepast. Opmerking: Als u de code niet kunt zien of als u denkt dat er iets ontbreekt (gebroken link afbeelding afwezig), neem dan contact met mij op [email protected]. Dat wil contact met mij op voor het geringste probleem dat je hebt over wat je aan het lezen bent.
De als Construct en Identifier Scope Lees en probeer de volgende code: #include int main () {int myInt = 40; if (25 == 25) {printf ("% i", myInt); int herInt = 50; } //Printf ("% i", herInt); 0 terug; } De als voorwaarde is als 25 is gelijk aan 25. Nu deze voorwaarde zal altijd waar terugkeren, en zo de als blok zal altijd worden uitgevoerd. Buiten het if-blok, wordt de identifier, myInt verklaard en toegewezen de waarde, 40. Binnen het if-blok is er een verklaring aan myInt drukken. Deze identificatie werd buiten de als blok verklaard; indien wordt gezien binnen het blok, wordt afgedrukt.
Als u de code geprobeerd zou je hebben gemerkt dat de waarde van myInt werd gedrukt. Nu, binnen het blok, een nieuwe identifier, herInt werd verklaard en had een waarde toegewezen. Buiten het blok, is er een reactie. Deze opmerking is eigenlijk een verklaring voorafgegaan door de reactie denotatie, //. Hierdoor voorteken, wordt de instructie niet uitgevoerd. Als u de reactie denotation verwijderen en opnieuw te proberen de code, zal de volgende verklaring te volgen: De herInt identifier is in het if-blok verklaard.
Nu, als het wordt gezien buiten het blok, dan is de "laatste" verklaring (zonder de reactie denotation) zou de waarde ervan af te drukken. Verwijder de //symbool en probeer de code als u dat nog niet hebt gedaan, en er rekening mee dat de laatste afdruk verklaring niet zou werken, en je zou een foutmelding of foutmeldingen tijdens het compileren te ontvangen. De functie C