Introducción a la palabra clave estática en C

La palabra clave estática en C varía de manera diferente, ya que es una palabra clave que puede usarse con variables y con funciones. Por lo tanto, es muy necesario obtener una demarcación en ambos para obtener las características reales o el comportamiento de la palabra clave específicamente en términos de lenguaje C. Es un poco difícil obtener la comprensión completa para un principiante, por lo que manejaremos la sintaxis, cómo funciona en C, algunas normas y reglas a seguir, ya que puede ser un poco confuso saber cuándo usarlo. alcance de la variable y cuándo usar para el alcance del bloque funcional.

Sintaxis

1. Sintaxis de la palabra clave estática en C al definir una variable:

static
static
Examples of syntax for static variables:
static int run = 0;
int static sleep = 0;

2. Sintaxis de la palabra clave estática en C al definir una función:

static
static
Examples of syntax for static functions:
static void run ()
(
)
void static sleep ()
(
)

¿Cómo funciona la palabra clave estática en C?

Básicamente, hay dos formas en que la palabra clave estática funciona en términos de C.

  • La palabra clave estática dentro de una función.
  • La palabra clave estática fuera de una función.

1. Palabra clave estática dentro de una función

La declaración de la variable dentro de una función está asociada con el tiempo de compilación y la duración del almacenamiento de la variable dentro de una llamada a la función. En palabras simples, las variables definidas como estáticas amplían su alcance para llamadas a múltiples funciones y una vez declaradas no pueden perder su alcance hasta que finalice la ejecución del programa. Comienza a definir su alcance en tiempo de compilación.

Ejemplo

# include
int main ()
(
run ();
run ();
run ();
)
void run ()
(
static int running = 0;
++running;
printf ("The function \"run\" was called %d times.\n", running);
)

Salida:

2. Palabra clave estática fuera de una función

Una vez que la palabra clave estática se declara fuera de una función, limita su alcance de la variable y se vuelve visible solo para el archivo actual, lo que significa que la función tendrá su alcance limitado a su propio archivo fuente. El acceso a esa variable o función estática obtiene restricciones de otro archivo fuente.

Aunque se considera bueno declarar una función como estática que ayuda en la encapsulación de datos a un alcance específico. Las personas con antecedentes de OOP o de Java pueden relacionarlo fácilmente con el funcionamiento de la palabra clave privada y pública.

Ejemplo

Para definir variables en la función externa, es decir, a nivel global, necesitamos definir al menos una palabra clave estática.

Defina una variable estática en un archivo fuente y la misma variable en la segunda variable en otro archivo fuente.

Source1.c
static int sleep = 0;
Source2.c
static int sleep= 0;
static void sleep ()
(
static int sleeping = 0;
++ sleeping;
printf (“the function \ “sleep\” was called %d times.\n”, sleeping);
)

Salida:

Especificar el tamaño mínimo de un parámetro de matriz

Hay un uso muy esencial que ignoramos a veces echemos un vistazo.

También podemos decirle al compilador el parámetro de almacenamiento para la declaración mínima de elementos dentro de un puntero de matriz a una función. Pero este caso se sigue muy raramente (seguido hasta el compilador C99).

Ejemplo

Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)
Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)

Básicamente, esto informará que el argumento no será nulo.

Reglas y regulaciones para la palabra clave estática en C

1. En términos de variable estática

  • Una variable estática siempre permanece activa cuando un programa está en estado de ejecución, a diferencia de las palabras clave automáticas y reservadas.
  • El almacenamiento y la asignación de memoria ocurren en el segmento de datos, no en el segmento de la pila.
  • Por defecto, si la variable no se declara con ningún valor por defecto, el compilador la definirá explícitamente como 0.
  • La declaración de variables estáticas se realiza principalmente mediante literales constantes.
  • Se considera principalmente que no debemos definir una variable estática dentro de una función, ya que en su mayoría hace que todo el módulo funcional sea un poco complejo.

2. En términos de función estática

  • La declaración de la variable se considera básicamente global por defecto, por lo tanto, el uso de palabras clave estáticas con una función hace que esté restringida dentro del alcance al limitar el alcance dentro del mismo archivo fuente.
  • Una buena característica de hacer que la función sea estática es la reutilización, es decir, podemos llamar a la misma función varias veces cuando sea necesario para la ejecución.

Ventajas

  • Considerar una variable como estática es ventajoso en el sentido. Ayuda a optimizar todo el flujo de código.
  • La reutilización y la redefinición ayudan al compilador a llamar a cualquier variable internamente sin hacer que domine ninguna otra palabra clave como extern.
  • Otra ventaja es aumentar la legibilidad de manera que en el futuro se reconozca que el archivo está declarado como estático y que ningún otro archivo o archivo fuente puede acceder a él.
  • También evita que muchos declaren el archivo c, es decir, que lo vuelvan a declarar como alguna otra variable externa.

Conclusión

  • El término "estático" tiene su propia tendencia, ya sea que se considere sensato o no. Los diferentes lenguajes de programación tienen diferentes significados solo relacionados con la palabra clave estática. Lenguaje orientado a objetos, se comporta muy bien con una propiedad de encapsulación.
  • En términos de C, C # y C ++ tiene una naturaleza diferente. Algunos consideran que el uso de estática es el mejor debido a las ventajas que ofrece, como la optimización, la reutilización y la limitación del alcance. La mayoría de los cuales es el reconocimiento del archivo legible final.
  • Más tarde, en algún momento, incluso algunos usuarios ingenuos pueden saber fácilmente si dos archivos de origen no coinciden al contar el contenido interno de las funciones estáticas y la variable estática como lo hará a través del error de compilación.
  • Pero en términos de C, esto no se considera una forma segura porque la comunicación interna entre hilos se vuelve insegura y difícil, ya que finalmente se está convirtiendo en una variable global. Por lo tanto, a veces no se considera una forma tan convencional en términos de C hacer uso de la palabra clave estática en C.

Artículos recomendados

Esta es una guía de la palabra clave estática en C. Aquí discutimos cómo funciona la palabra clave estática en C con las reglas y regulaciones. También puede consultar el siguiente artículo para obtener más información:

  1. Variables en C
  2. Intercambio en C
  3. Funciones matemáticas en C
  4. Número inverso en C
  5. Intercambio en PHP
  6. Palabras clave PHP
  7. Los 5 principales atributos de eventos HTML con ejemplos