<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wx="http://ilps.science.uva.nl/WikiXML/wx" xml:lang="it" lang="it">
<head>
<title>Allocazione automatica della memoria</title>
<meta name="wx_namespace" content="0"/>
<meta name="wx_pagename" content="Allocazione_automatica_della_memoria"/>
<meta name="wx_page_id" content="533085"/>
</head>
<body>
<div id="wx_article">
<wx:section level="1" title="Allocazione automatica della memoria" id="wxsec1"><h1 class="pagetitle" id="wx1">Allocazione automatica della memoria</h1>

<wx:template id="wx_t1" pagename="Template:S" page_id="473933"/>
<div class="toccolours itwiki_template_avviso rad noprint" style="margin-bottom:.5em" id="wx2">
<div style="align:left; margin:-3px 0 -4px" id="wx3"><a href="/wit/Immagine:Stub_informatica.png" title="Stub" wx:linktype="image" wx:pagename="Immagine:Stub_informatica.png" wx:page_id="584308" id="wx4"><img src="/wit/Immagine:Stub_informatica.png" alt="Stub" width="30" id="wx5"/></a>
<p id="wx6"> Questa voce di <a href="/wit/Informatica" title="Informatica" wx:linktype="known" wx:pagename="Informatica" wx:page_id="1681180" id="wx7">informatica</a> è solo un <a href="/wit/Aiuto:Abbozzo" title="Aiuto:Abbozzo" wx:linktype="known" wx:pagename="Aiuto:Abbozzo" id="wx8">abbozzo</a>: <b id="wx9"><a href="http://wit/wit/index.php?title=Allocazione_automatica_della_memoria&amp;action=edit" class="external text" wx:linktype="external" rel="nofollow" id="wx10">contribuisci</a></b> a migliorarla secondo le <a href="/wit/Aiuto:Manuale_di_stile" title="Aiuto:Manuale di stile" wx:linktype="known" wx:pagename="Aiuto:Manuale_di_stile" id="wx11">convenzioni di Wikipedia</a>.</p>
</div>
</div>

<wx:templateend start="wx_t1"/>
<p id="wx12">Le <b id="wx13">variabili automatiche</b> sono <a href="/wit/Variabile_%28informatica%29" title="Variabile (informatica)" wx:linktype="known" wx:pagename="Variabile_(informatica)" wx:page_id="66935" id="wx14">variabili</a> locali in un blocco di istruzioni. Esse sono automaticamente allocate sullo <a href="/wit/Stack" title="Stack" wx:linktype="known" wx:pagename="Stack" wx:page_id="27136" id="wx15">stack</a> quando si entra in quel blocco di codice; parallelamente, vengono distrutte quando si esce dal blocco stesso.</p>

<p id="wx16">Ad esempio, si consideri il seguente codice in <a href="/wit/Linguaggio_C" title="Linguaggio C" wx:linktype="known" wx:pagename="Linguaggio_C" wx:page_id="2556" id="wx17">linguaggio C</a>: &lt;source lang="c"&gt; void main(void) {</p>

<pre id="wx18">
 {
   int a;
   a = 10;
 }
 {
   int b;
   printf("b = %d\n", b);
 }
</pre>

<p id="wx19">} &lt;/source&gt; Utilizzando il <a href="/wit/Compilatore" title="Compilatore" wx:linktype="known" wx:pagename="Compilatore" wx:page_id="1521" id="wx20">compilatore</a> <a href="/wit/GNU_Compiler_Collection" title="GNU Compiler Collection" wx:linktype="known" wx:pagename="GNU_Compiler_Collection" wx:page_id="91623" id="wx21">gcc</a>, si otterrà come risultato:</p>

<pre id="wx22">
b = 10
</pre>

<p id="wx23">perché la stessa locazione di <a href="/wit/Memoria_%28informatica%29" title="Memoria (informatica)" wx:linktype="known" wx:pagename="Memoria_(informatica)" wx:page_id="154018" id="wx24">memoria</a> che era stata allocata per <i id="wx25">a</i> viene poi utilizzata per allocare <i id="wx26">b</i>, all'ingresso del secondo blocco.</p>

<p id="wx27">Le variabili automatiche hanno un valore indefinito quando sono dichiarate (in gergo si dice che sono <b id="wx28">sporche</b>), perciò è buona abitudine inizializzarle con valori validi prima del loro utilizzo. La maggior parte dei compilatori moderni, se invocati con i giusti parametri, riconosce l'uso di variabili non inizializzate ed avverte l'utente del possibile errore.</p>

<a id="Voci_correlate" name="Voci_correlate"/>
<wx:section level="2" title="Voci correlate" id="wxsec2"><h2 id="wx29">Voci correlate</h2>

<ul id="wx30">
<li id="wx31"><a href="/wit/Allocazione_dinamica_della_memoria" title="Allocazione dinamica della memoria" wx:linktype="known" wx:pagename="Allocazione_dinamica_della_memoria" wx:page_id="533033" id="wx32">Allocazione dinamica della memoria</a></li>

<li id="wx33"><a href="/wit/Allocazione_statica_della_memoria" title="Allocazione statica della memoria" wx:linktype="known" wx:pagename="Allocazione_statica_della_memoria" wx:page_id="571383" id="wx34">Allocazione statica della memoria</a></li>

<li id="wx35"><a href="/wit/Stack" title="Stack" wx:linktype="known" wx:pagename="Stack" wx:page_id="27136" id="wx36">Stack</a>
<p id="wx37">delle chiamate</p>
</li>
</ul>
</wx:section></wx:section></div>
<div id="wx_categorylinks">
<a href="/wit/index.php?title=Speciale:Categories&amp;article=Allocazione_automatica_della_memoria" title="Speciale:Categories" wx:linktype="known" wx:pagename="Speciale:Categories" id="wx38">Categorie</a>: <span dir="ltr" id="wx39"><a href="/wit/Categoria:Stub_informatica" title="Categoria:Stub informatica" wx:linktype="known" wx:pagename="Categoria:Stub_informatica" wx:page_id="239278" id="wx40">Stub informatica</a></span> | <span dir="ltr" id="wx41"><a href="/wit/Categoria:Gestione_della_memoria" title="Categoria:Gestione della memoria" wx:linktype="known" wx:pagename="Categoria:Gestione_della_memoria" wx:page_id="115844" id="wx42">Gestione della memoria</a></span></div>
<div id="wx_languagelinks">
Altre lingue: <a href="http://en.wikipedia.org/wiki/Automatic_variable" class="external" wx:linktype="interwiki" wx:pagename="en:Automatic_variable" id="wx43">English</a> | <a href="http://es.wikipedia.org/wiki/Asignaci%C3%B3n_autom%C3%A1tica_de_memoria" class="external" wx:linktype="interwiki" wx:pagename="es:Asignación_automática_de_memoria" id="wx44">Español</a></div>
</body>
<wx:templatearguments for="wx_t1"><wx:argument name="1">
<p id="wx45">informatica</p>
</wx:argument></wx:templatearguments>
</html>
