Alocarea automată a memoriei

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Variabilele automate sunt locale variabile într - un bloc de declarații.

Acestea sunt alocate automat în stivă când introduceți acel bloc de cod; în paralel, sunt distruse la ieșirea blocului.

De exemplu, luați în considerare următorul cod în limba C :

 int main ( nul )
{
  {
    int a ;
    a = 10 ;
  }
  {
    int b ;
    printf ( "b =% d \ n " , b );
  }
}

Folosind compilatorul gcc , rezultatul va fi:

 b = 10

deoarece aceeași locație de memorie care a fost alocată pentru a este apoi utilizată pentru a aloca b , la intrarea în al doilea bloc.

Variabilele automate au o valoare nedeterminată atunci când sunt declarate (în jargon se spune că sunt murdare ), deci este o bună practică să le inițializăm cu valori valide înainte de a le utiliza.
Cele mai multe compilatoare moderne, dacă sunt invocate cu parametrii corecți, recunosc utilizarea variabilelor neinițializate și avertizează utilizatorul cu privire la posibila eroare.

Elemente conexe