Red de conocimiento informático - Computadora portátil - ¿Para qué se utiliza la estática en el lenguaje C?

¿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

Los miembros de datos estáticos son miembros de clases, no importa cuántos objetos de la clase estén definidos, solo hay una copia del miembro de datos estáticos y es visible para todos los objetos de la clase. Es decir, cualquier objeto puede operar sobre miembros de datos estáticos. Para miembros de datos no estáticos, cada objeto tiene su propia copia.

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;