Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/05/2013, 19:27
ElPatoGarrido
 
Fecha de Ingreso: noviembre-2011
Mensajes: 50
Antigüedad: 12 años, 6 meses
Puntos: 3
Respuesta: Variables estaticas

Cita:
Iniciado por sam90 Ver Mensaje
YO creo que hay que hacer diferencia:
Variable statica es aquella que se crea una sola vez. Y variable dinámica es aquella que se creo muchas veces y puede estar crea varias veces al mismo tiempo en distintos marcos de activación.

Siguiendo esta definición tanto una variable definida con Static como una variable global es Estatica. En cambio las variables definidas en una función a nivel local son dinámicas.

Ese es mi punto de vista de las variables. Igualmente es obvio que cada uno interpreta y define como cree estas cosas. Lo importante no es el nombre sino saber como se representa internamente en el compilador.

Saludos
Creo que tienes una confusion, no tiene nada que ver que una variable se declare en una funcion con ser dinamica.

Variables Estaticas: Se declaran en cualquier parte del programa (con el comando static) pero su alcance es global y duran hasta el termino del programa. Se almacenan en la memora estatica (Statick memory).

Variables Globales: Se declaran fuera de la funcion main y tienen un alcance global, duran la ejecucion del programa. Se almacenan en la memoria estatica (Statick memory).

Variables DInamicas: Las que se crean con los comandos malloc o new (c y c++ respectivamente). Duran hasta que se las libere con los comandos free o delete, o hasta la duracion del programa. Se almacenan en el Heap del programa.

Las variables que creas en las funciones son solo variables con un alcance local y se almacenan en el Stack o Pila, y su memoria es liberada al termino de la funcion.

Última edición por ElPatoGarrido; 02/05/2013 a las 19:36