¿Para qué se utiliza la estática en el lenguaje C?
Hay dos usos:
1. Estático modifica las variables locales y se convierte en una variable estática local.
En comparación con las variables locales ordinarias, las ventajas de las variables locales estáticas modificadas (variables locales estáticas) son:
① El alcance y las propiedades de conexión de las variables locales estáticas son las mismas que las de variables locales ordinarias
②Clase de almacenamiento: las variables locales estáticas se asignan en el segmento de datos/bss y las variables locales ordinarias están en la pila
③Ciclo de vida: debido a las diferentes clases de almacenamiento; , la vida de las variables locales estáticas El ciclo se extendió hasta el final del programa.
2. Static modifica variables y funciones globales para convertirse en variables globales y funciones estáticas.
En comparación con las variables globales ordinarias y las funciones ordinarias, las ventajas de las variables\funciones globales estáticas modificadas son:
①La clase de almacenamiento, el ciclo de vida y el alcance son los mismos;
②La diferencia es que las variables globales estáticamente modificadas\los atributos de conexión de funciones son conexiones internas, y las variables globales ordinarias\funciones ordinarias son enlaces externos;
③Es decir, las variables globales\funciones estáticamente modificadas no pueden ser accedido y llamado a través de archivos.
Información ampliada:
Agregue la palabra clave estática antes de la declaración de un miembro de datos en la clase, y el miembro de datos es un miembro de datos estáticos en la clase. Sus características son las siguientes:
Los miembros de datos estáticos se almacenan en el área de datos globales. A los miembros de datos estáticos se les asigna espacio de almacenamiento cuando se definen, por lo que no se pueden definir en declaraciones de clase
Debido a las razones anteriores, los miembros de datos estáticos no pertenecen a ningún objeto. Su alcance es visible cuando no hay una instancia de la clase y las operaciones se pueden realizar cuando no hay ningún objeto.
Y al igual que los miembros de datos ordinarios, los miembros de datos estáticos también cumplen con las reglas de acceso público, protegido y privado
Formato de inicialización de los miembros de datos estáticos: lt; tipo de datos gt; :: lt; nombre de miembro de datos estáticos gt; =lt; valor gt;
Hay dos formas de acceder a miembros de datos estáticos de una clase: lt; nombre de objeto de clase .lt; gt; o lt; nombre del tipo de clase gt ;::lt;nombre del miembro de datos estáticos;