[Duda] Variables locales
#1

Buenas a todos,

Hace unos meses empezй a scriptear y una duda que tengo desde el principio y que no he encontrado en ningun sitio explicada (o no lo he sabido buscar, en la wiki lo explica pero tengo dudas) es, їquй pasa con las variables locales que creas dentro de una funcion? Es decir, al salir de la funcion, їse libera la memoria ocupada por esa variable o sigue ocupando memoria?

Saludos.
Reply
#2

Las variables locales son usadas una sola vez hasta que se acabe el bloque de cуdigo.. Si pones una variable llamada 'X' dentro de una llave, fuera de esa llave ya serнa un elemento indefinido, ya no existe.
Intenta crear la variable 'new X = 5' dentro de una llave, y luego haz "X += 1" fuera de la llave y el compilador te darб error por undefined symbol, es cuestion de probar.

De otra forma, la cantidad de memoria usada es muy mнnima en una variable local (incluso en una array de tamaсo no exagerado), que apenas sobrepasan los kilobytes.. Mejor no te deberнas preocupar por cosas a tan pequeсa escala.

En corto, depende si la variable es local. Si quieres crear una variable para asignarle un valor en cualquier momento globalmente, crearla global (fuera de cualquier funciуn o segmento).
Reply
#3

Eso es bastante simple de responder, solamente fijбndote la definiciуn de lo que es una variable estбtica te das cuenta.
Las variables locales al terminar de ejecutarse se borran de la memoria y se crean al volver a utilizarse la funciуn, caso contrario el de las variables estбticas, que siempre estбn vigentes en la funciуn y guardan el valor que tuvo la ъltima vez utilizada.
Reply
#4

Gracias a los dos por contestar, duda resuelta.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)