Le variabili locali e globali. portata.

Vota questo articolo




C ++, variabili locali e globali, l'ambito delle variabili, C ++ principiantiPer la comprensione delle variabili di localizzazione probabilmente iniziare con un'allegoria. che cosa “località”? Questa limitazione di capacità di spazio. portata variabile – questo è il pezzo di codice (funzione, ciclo, spazi dei nomi), в котором эта переменная объявлена (farro). Al di fuori di questa zona – il compilatore non lo vede (non è disponibile).

Così si scopre – Variabili come descritto all'interno delle funzioni, не могут быть использованы за её пределами. В качестве примера можно рассмотреть такой код:

Diamo un'occhiata a un esempio di una più stretta. Così abbiamo una variabile io, descritta è una funzione del programma. Il suo campo di applicazione e le azioni – l'intero programma non è limitato a. E una volta che lei “legittimo” l'intero programma, in tutte le sue funzioni e blocchi operatori, prigionieri {}, allora si chiama Глобальной переменной.

Так же у нас в примере видна функция somma(), che qualcosa fa. È descritto nella seconda variabile – K. Lei ha già una specifica “registrazione” – funzione. При этом данная переменная не может быть использована за пределами функции. vale a dire. se la funzione principale() дописать еще и вывод этой K lo schermo, компилятор начнет “giurare”. E 'semplicemente semplicemente non vede al di fuori della funzione somma(). Partenza:

variabile K называется locale, e la sua portata funzione di parentesi aperte e chiuse definito somma(){…}. Poi non ce l'hanno in esecuzione, quindi non può essere utilizzato fuori funzione. Kompiliruem:

C ++, variabili locali e globali, l'ambito delle variabili, C ++ principianti

tuttavia, si deve anche tenere conto, che il campo di applicazione è esteso alle unità interne. Ad esempio, si consideri questo codice:

Si manifesta il seguente campo di applicazione:

  • globale – i = 2 lei;
  • Locale nella funzione – variabile K;
  • relativa locale per il ciclo() – secondo io.

sebbene, che per ha il suo ambito di applicazione, se stesso per funzione membro somma(). E significa, e tutto ciò che è, Essa è soggetta alla portata locale della funzione. vale a dire. tutte le variabili, funzione definita nello stesso modo e nel corpo stesso per, che permette all'operatore di lavorare K += 1 (egli è k = k + 1 o k ++).

Più interessante è il caso di una variabile io, descritto in per. Nonostante il nome, идентичное с глобальной переменной описанной выше, questa è un'altra variabile.

Non appena il loro ciclo ha funzionato, variabile io, in essa descritto, perde il suo potere, или иначе говоря – “rilasciato” dai dazi. Non è uno scherzo – solo che il gestore della memoria arriva. Quando viene descritta una variabile, riserve Gestione sotto la sua memoria, e quando il campo di applicazione si conclude – Questo libera la memoria. Менеджер памяти у себя помечает, che questa posizione di memoria non è proprietà di nessuno, ed è possibile dare una registrazione di altri dati.

Per fissare un altro primerchik luce:

Esso descrive il blocco di istruzioni ambito, ограничивающимися {}, vale a dire. prima cout visualizza 2, потому что определен блок операторов, в котором сработает это cout. И в этом же блоке определена локальная переменная с именем e, da essa egli valuterà soprattutto.

C ++, variabili locali e globali, l'ambito delle variabili, C ++ principianti

E già fuori {} operatore cout visualizza 0, perché non c'è lo stesso per lui e, che è uguale 2. Il suo scopo è lo stesso come l'altra e, che è uguale 0, и определена выше вложенного блока.

generalmente ricordare – в реальной жизни никогда не надо давать одинаковые имена переменным (tranne, che viene classicamente utilizzato per contatori di ciclo. per esempio io, j, K. Se si 10 cicli nel codice e che investito, то для каждого из них можно объявлять и определять счетчик с именем io. Это нормально). In altri casi, sempre dare nomi univoci alle variabili, se non si vuole, al più tardi “ricordato” programmatori, che sarà affrontato nel codice.

Offriamo inoltre di visualizzare un video tutorial sulla portata. Autore video tutorial: Markov Denis

Newsletter nuove lezioni sulla programmazione:

Lascia un Commento

Inserire il codice nei tag: <pre class="lang:C ++ decodifica:true ">IL TUO CODICE</pre>