fbpx
Wikipedia

Variable estática

En informática una variable estática es una variable que ha sido ubicada estáticamente y cuyo tiempo de vida se extiende durante toda la ejecución del programa. Normalmente una variable estática tiene un ámbito más amplio que otras variables. Los valores de variables estáticas se pueden establecer una vez (durante el tiempo de ejecución) o se pueden cambiar en múltiples ocasiones durante la ejecución del programa. La terminología "variable estática" se basa en C y C++, pero también se usa en muchos lenguajes de programación derivados. En lenguajes de diferente origen el mismo concepto puede denominarse "variable global".

Constantes

Los programas informáticos pueden almacenar constantes en variables constant o en variables static, dependiendo de las posibilidades del lenguaje de programación. Por ejemplo, un programa que usa una aproximación de pi es más fácil de escribir, leer y mantener con una variable llamada "PI" en lugar de múltiples ocurrencias de "3.14159".

Ámbito

En el lenguaje de programación C se usa static con variables globales y funciones para restringir su ámbito al archivo donde se definen. Con variables locales, static se usa para almacenar la variable en la memoria asignada de forma estática en lugar de en la memoria asignada de forma automática. Siempre y cuando el lenguaje no fije la implementación del tipo de memoria a usar, la memoria asignada de forma estática se reserva normalmente en el segmento de datos del programa durante la compilación, mientras que la memoria asignada de forma automática es normalmente implementada como pila de llamadas transitorio.

Variables locales

La mayoría de los lenguajes de programación incluyen la posibilidad de usar subrutinas. Las variables de ámbito local en las subrutinas (variables locales) se crean y destruyen normalmente dentro de la propia subrutina (denominadas variable automática. Algunos lenguajes, sin embargo, (ej. lenguaje de programación C) permiten a las subrutinas retener el valor de las variables entre las llamadas a la función, de forma que la función puede preservar el valor de las variables si fuera necesario. Por ejemplo, una variable estática puede registrar el número de veces que una subrutina ha sido ejecutada. Para este propósito también es posible servirse de variables globales o de almacenamiento externo (ej. un archivo en un disco). Adicionalmente limita el ámbito del compilador de la variable en cuestión a esa función, incluso cuando el espacio asignado se encuentra en el área estática.

Clases

Lenguajes orientados a objetos usan clases y objetos. En este caso, una variable de clase es una variable que no está asociada con instancias de la clase. Solo hay una única copia de la variable que se comparte entre los métodos de todas las instancias independientemente de su cantidad. En C++, las variables de clase se conocen como miembros de datos estáticos.

Ejemplo en C

En el Lenguaje de programación C, el funcionamiento de una variable definida como estática se puede ilustrar con el siguiente código:

#include <stdio.h> void func() { static int x = 0; // x es inicializada solo una vez durante las tres llamadas a func() printf("%d\n", x); // muestra el valor de x x = x + 1; } int main(int argc, char * const argv[]) { func(); // muestra 0 func(); // muestra 1 func(); // muestra 2 return 0; } 

Ejemplo en C#

public class Request { private static int count; private string url; public Request() { //Create a new instance of Request //Count all requests Request.count++; } public string Url { get { return this.url; } set { this.url = value; } } public static int Count { get { //Do not use the this keyword here //as this refers to "THIS INSTANCE" return Request.count; } //Do not allow the developer to SET this value } } 

Ejemplo en C++

class Request { private: static int count; string url; public: Request() { count++; } string getUrl() const { return url; } void setUrl(string value) { url = value; } static int getCount() { return count; } }; int Request::count = 0; 

En este ejemplo, count se aplica a la clase mientras que url se aplica a cada instancia. Nótese que la variable count debe inicializarse al margen de la clase.

Referencias

Véase también

  •   Datos: Q1896011

variable, estática, informática, variable, estática, variable, sido, ubicada, estáticamente, cuyo, tiempo, vida, extiende, durante, toda, ejecución, programa, normalmente, variable, estática, tiene, ámbito, más, amplio, otras, variables, valores, variables, es. En informatica una variable estatica es una variable que ha sido ubicada estaticamente y cuyo tiempo de vida se extiende durante toda la ejecucion del programa Normalmente una variable estatica tiene un ambito mas amplio que otras variables Los valores de variables estaticas se pueden establecer una vez durante el tiempo de ejecucion o se pueden cambiar en multiples ocasiones durante la ejecucion del programa La terminologia variable estatica se basa en C y C pero tambien se usa en muchos lenguajes de programacion derivados En lenguajes de diferente origen el mismo concepto puede denominarse variable global Indice 1 Constantes 2 Ambito 3 Variables locales 4 Clases 5 Ejemplo en C 5 1 Ejemplo en C 5 2 Ejemplo en C 6 Referencias 7 Vease tambienConstantes EditarLos programas informaticos pueden almacenar constantes en variables constant o en variables static dependiendo de las posibilidades del lenguaje de programacion Por ejemplo un programa que usa una aproximacion de pi es mas facil de escribir leer y mantener con una variable llamada PI en lugar de multiples ocurrencias de 3 14159 Ambito EditarEn el lenguaje de programacion C se usa static con variables globales y funciones para restringir su ambito al archivo donde se definen Con variables locales static se usa para almacenar la variable en la memoria asignada de forma estatica en lugar de en la memoria asignada de forma automatica Siempre y cuando el lenguaje no fije la implementacion del tipo de memoria a usar la memoria asignada de forma estatica se reserva normalmente en el segmento de datos del programa durante la compilacion mientras que la memoria asignada de forma automatica es normalmente implementada como pila de llamadas transitorio Variables locales EditarArticulo principal Variable local La mayoria de los lenguajes de programacion incluyen la posibilidad de usar subrutinas Las variables de ambito local en las subrutinas variables locales se crean y destruyen normalmente dentro de la propia subrutina denominadas variable automatica Algunos lenguajes sin embargo ej lenguaje de programacion C permiten a las subrutinas retener el valor de las variables entre las llamadas a la funcion de forma que la funcion puede preservar el valor de las variables si fuera necesario Por ejemplo una variable estatica puede registrar el numero de veces que una subrutina ha sido ejecutada Para este proposito tambien es posible servirse de variables globales o de almacenamiento externo ej un archivo en un disco Adicionalmente limita el ambito del compilador de la variable en cuestion a esa funcion incluso cuando el espacio asignado se encuentra en el area estatica Clases EditarArticulo principal Clase informatica Lenguajes orientados a objetos usan clases y objetos En este caso una variable de clase es una variable que no esta asociada con instancias de la clase Solo hay una unica copia de la variable que se comparte entre los metodos de todas las instancias independientemente de su cantidad En C las variables de clase se conocen como miembros de datos estaticos Ejemplo en C EditarEn el Lenguaje de programacion C el funcionamiento de una variable definida como estatica se puede ilustrar con el siguiente codigo include lt stdio h gt void func static int x 0 x es inicializada solo una vez durante las tres llamadas a func printf d n x muestra el valor de x x x 1 int main int argc char const argv func muestra 0 func muestra 1 func muestra 2 return 0 Ejemplo en C Editar public class Request private static int count private string url public Request Create a new instance of Request Count all requests Request count public string Url get return this url set this url value public static int Count get Do not use the this keyword here as this refers to THIS INSTANCE return Request count Do not allow the developer to SET this value Ejemplo en C Editar class Request private static int count string url public Request count string getUrl const return url void setUrl string value url value static int getCount return count int Request count 0 En este ejemplo count se aplica a la clase mientras que url se aplica a cada instancia Notese que la variable count debe inicializarse al margen de la clase Referencias EditarEsta obra contiene una traduccion derivada de static variable de Wikipedia en ingles publicada por sus editores bajo la Licencia de documentacion libre de GNU y la Licencia Creative Commons Atribucion CompartirIgual 3 0 Unported 14 1 6 Static Variables from a computing science book at hawaii eduVease tambien EditarVariable Variable externa Datos Q1896011Obtenido de https es wikipedia org w index php title Variable estatica amp oldid 137656608, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos