Alocarea automată a memoriei
Acest articol sau secțiune referitoare la memoria computerelor nu menționează sursele necesare sau cei prezenți sunt insuficienți . |
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.