Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Variable local
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
Una '''variable local''' es, en [[informática]], la [[variable (programación)|variable]] a la que se le otorga un ''[[ámbito (programación)|ámbito]] local''. Tales variables sólo pueden accederse desde la [[subrutina|función]] o [[bloque de instrucciones]] en donde se [[declaración (informática)|declaran]]. Las variables locales se contraponen a las [[variable global|variables globales]]. En la mayoría de [[lenguaje de programación|lenguajes de programación]] las variables locales son [[variable automática|variables automáticas]] almacenadas directamente en la [[pila de llamadas]]. Esto significa que cuando una [[recursión (informática)|función recursiva]] se llama a sí misma, las variables locales reciben, en cada instancia de la función, [[espacio para el direccionamiento]] de memoria separados. De esta forma las variables con este ámbito se pueden declarar, reescribir y leer sin riesgo de [[Efecto secundario (computación)|efectos secundarios]] para los procesos fuera del bloque en el que son declarados. Los lenguajes de programación que se sirven de la semántica ''[[estrategia de evaluación|llamada por valor]]'' semantics proven una subrutina llamada con su propia copia local de los [[Argumento (Ciencias de la computación)|argumentos]] que se pasan. En la mayoría de lenguajes, a estos parámetros locales se les trata igual que otras variables locales dentro de la subrutina. Por otro lado las semánticas ''[[estrategia de evaluación|llamada por referencia]]'' y ''[[estrategia de evaluación|llamada por nombre]]'' permiten que los parámetros actúen como alias de los argumentos que se pasan, permitiendo a la subrutina modificar variables al margen de su ámbito. Algunos expertos abogan por limitarse al uso de variables locales para evitar efectos laterales en el resto del software motivados por un cambio en un módulo en particular. == Variables locales estáticas == {{AP| variable estática}} Las variables locales estáticas son un tipo especial de variable local disponible en muchos de los lenguajes de programación más usados, entre otros [[C (lenguaje de programación)|C]]/[[C++]], [[Visual Basic]] y [[Visual Basic .NET|VB.NET]] y que permite conservar el valor de la variable hasta la próxima llamada de la función. En este caso, llamadas recursivas a la función también tienen acceso a la variable. En todos los lenguajes mencionados las variables se declaran como tales con ayuda de la [[palabra clave]] ''storage class'' (ej. <code>static</code>). Las variables locales estáticas en funciones globales pueden considerarse variables globales, dado que su valor permanece en la memoria durante todo el tiempo de vida del [[Programa (computación)|programa]].<ref>[http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf Current C standard]. En particular, véase la sección 6.2.4 "Storage durations of objects", pág. 32.</ref> La única diferencia es que sólo pueden accederse desde una única función. Las variables locales estáticas también se pueden declarar en class-level functions en lenguajes de programación [[programación orientada a objetos|orientados a objetos]]. Lenguajes orientados a objetos más estrictos y formales tales como [[Java (lenguaje de programación)|Java]] y [[C Sharp|C#]], no permiten la declaración de variables locales estáticas en una función. En estos lenguajes las variables "estáticas" se restringen al ámbito de la clase. Nota: El término <code>static</code> tiene un significado distinto en otros lenguajes. == Perl == [[Perl]] cuenta con el término <code>local</code> para “localizar” variables, pero, en este caso, <code>local</code> tiene una implicación diferente.<ref>[http://perldoc.perl.org/functions/local.html perldoc.perl.org: local]</ref> Otorga un valor temporal a una variable global (paquete), que permanece hasta el final del bloque adjunto. Sin embargo, la variable es visible para cualquier función dentro del bloque.<ref>[http://perldoc.perl.org/perlsub.html#Temporary-Values-via-local() perldoc.perl.org: perlsub: Temporary Values via <code>local()</code>]</ref> Para crear variables léxicas que se asemejan a las variables automáticas ya mencionadas se usa el operador <code>my</code>.<ref>[http://perldoc.perl.org/perlsub.html#Private-Variables-via-my() perldoc.perl.org: perlsub: Private Variables via <code>my()</code>]</ref> == Referencias == {{listaref}} == Enlaces externos == {{traducido ref|en|local variable|271242505}} {{Control de autoridades}} [[Categoría:Variables (programación)]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Variable local
»
Añadir idiomas
Añadir tema