¿Qué significa estático en lenguaje C?
1. Variables modificadas
Las variables se dividen en variables locales y globales, pero todas se almacenan en el área estática de la memoria. El alcance de las variables globales estáticas se limita al archivo en el que se define la variable. No se puede usar en otros archivos incluso si se usa extern. Para ser precisos, su alcance comienza desde el principio de la definición y termina al final de. el archivo. Las líneas de código definidas antes tampoco se pueden utilizar.
Las variables locales estáticas, definidas en el cuerpo de la función, solo se pueden utilizar en esta función y no se pueden utilizar en otras funciones del mismo documento. Dado que las variables modificadas por estática siempre existen en el área estática de la memoria, incluso si la función finaliza, el valor de esta variable estática no se destruirá y el valor aún se puede usar la próxima vez que se use la función. .
2. Modificar la función
Agregue estática antes de la función para convertir la función en una función estática. Pero el significado de "estático" aquí no se refiere al método de almacenamiento, sino que el alcance de la función se limita a este archivo (por lo que también se le llama función interna). La ventaja de utilizar funciones internas es que cuando diferentes personas escriben funciones diferentes, no tienen que preocuparse de si las funciones que definen tienen el mismo nombre que las funciones de otros archivos.
La palabra clave static tiene un historial inusual. Originalmente, la palabra clave static se introdujo en C para indicar variables locales que persisten después de salir de un bloque. Posteriormente, estático tiene un segundo significado en C: se utiliza para representar variables y funciones globales a las que otros archivos no pueden acceder. Para evitar la introducción de nuevas palabras clave, todavía se utiliza la palabra clave estática para expresar este segundo significado.