Las clases de almacenamiento en el lenguaje de programación C.

aprender: En este artículo se aprende acerca de las diferentes clases de acopio utilizados en lenguaje de programación C .

Una variable es clase de almacenamiento nos dice lo siguiente,

  1. ¿Dónde se almacenan las variables?
  2. ¿Cuál será el inicial de la variable, si el valor inicial no se asigna específicamente? (Es decir, el valor inicial default).
  3. Cuál es el alcance de las variables, es decir, en qué parte del programa de las funciones estaría disponible el valor de la variable?
  4. ¿Qué es la vida de la variable, es decir, cómo long existe la variable?

Los tipos de clases de almacenamiento en C

Hay cuatro clases de lenguaje de programación C,

  1. clases de almacenamiento automáticos
  2. Register clases de almacenamiento
  3. Static clases de almacenamiento
  4. clases de almacenamiento externos

1) clases de almacenamiento automáticos

La palabra clave auto se utiliza para la variable declare de clase de almacenamiento automático. (auto palabra clave es opcional).

Sintaxis

    auto int a;
int a;

StorageMemory

Default valor inicial valor impredecible
Alcance Local en el bloque en el que se define la variable .
Vida de control permanece dentro del bloque en el que se define la variable.

Ejemplo: Para mostrar los valores default

#include <stdio.h>
int main ()
{
auto int i,j;
printf("n%d %d",i,j);
return 0;
}

NOTA: En la salida dos valores de basura se mostrará como variable automática por valores de basura almacenar default.

2) clases de almacenamiento Register

La palabra clave register se utiliza para declarar una variable de la clase de almacenamiento register.

Sintaxis

 register int a;

Almacenamiento CPU Register

Default valor inicial valor Garbage
Alcance Local para el bloque en el que la variable se define.
Vida de control permanece dentro del bloque en el que se define la variable.

Ejemplo:

#include <stdio.h>
int main()
{
register int i;
for(i=1;i<=100;i++);
printf("%d",i);
return 0;
}

salida

    101

NOTA: variable A almacenado en la CPU register siempre se puede acceder más rápida que la que se almacena en la memoria.

No podemos utilizar la clase de almacenamiento register para todos los tipos de variables.

Ejemplo: register double a; , register float c; clases etc.

3) Static almacenamiento

La palabra clave static se utiliza para declarar variables de clase de almacenamiento static.

Sintaxis

 static int i;

memoria de almacenamiento

Default valor inicial 0
Alcance Local en el bloque en el que se define la variable .
vida valor de los restos variables b / w diferentes llamadas a funciones.

Ejemplo:

#include <stdio.h>
void abc()
{
static int a=10;
printf("%dn",a);
a=a+10;
}
int main()
{
abc();
abc();
abc();
}

salida

    10
20
30

NOTA: Debemos evitar el uso de variables static menos que realmente los necesitamos. Debido a que su valor se mantiene en la memoria cuando las variables no están activos, lo que significa que ocupan espacio en la memoria que de otro modo podría ser utilizado por otras variables.

4) clases de almacenamiento externos

La palabra clave extern se utiliza para declarar las variables de clase de almacenamiento externo.

En esta la variable declarada sin palabras clave, pero se debe definir por encima de la función (exterior).

Sintaxis

 extern int i;

memoria de almacenamiento

Default valor inicial 0
Ámbito Global
vida como long como la ejecución del programa no llega a su fin.

Ejemplo:

#include <stdio.h>

int a=10;
void abc()
{
printf("%dn",a);
a=a+10;
}
int main()
{
a=a+5;
printf("%dn",a);
a=a+20;
abc();
printf("%dn",a);
abc();
a=a+20;
abc();
printf("%dn",a);
return 0;
}

salida

    15
35
45
45
75
85

NOTA: Mayormente en muchos casos se da preferencia a una variable local.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *