55 of 59 menu

Tipo di dati stack

Il tipo di dati stack rappresenta un frammento della memoria ad accesso casuale (RAM), allocato per ogni thread di esecuzione.

Il funzionamento dello stack è definito dal principio LIFO (Last In, First Out). L'essenza di questo principio è che l'ultimo frammento di memoria aggiunto allo stack sarà il primo ad esserne rimosso.

L'essenza del lavoro con lo stack consiste nel fatto che, quando viene dichiarata una nuova variabile all'interno di una funzione, questa viene aggiunta allo stack. Quando la funzione termina la sua esecuzione, la variabile viene automaticamente rimossa dalla memoria dello stack e la parte che occupava diventa disponibile per altri oggetti.

Il principale vantaggio dello stack è l'alta velocità di esecuzione del codice, tuttavia lo svantaggio consiste nel fatto che quando la memoria allocata per lo stack si esaurisce, le variabili dichiarate non potranno più essere modificate e l'esecuzione del codice si interromperà. La dimensione dello stack viene impostata alla creazione del thread, e ogni variabile ha una sua dimensione massima di memoria, che dipende primariamente dal suo tipo di dati. Per questo motivo è necessario dichiarare in anticipo la dimensione dei tipi di dati complessi (ad esempio, gli oggetti). Inoltre, lo stack può contenere in memoria solo variabili locali; per quelle globali è necessario utilizzare l'heap.

Vedi anche

  • tipo di dati heap,
    ampiamente utilizzato nella programmazione
  • rete per la distribuzione dei contenuti CDN,
    che accelera il caricamento delle pagine delle applicazioni web
  • metodo di organizzazione dei dati LIFO,
    ampiamente utilizzato nella programmazione
  • metodo di organizzazione dei dati FIFO,
    ampiamente utilizzato nella programmazione
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta