Diferencia entre variables estáticas y variables de registro en C

variables estáticas

¡Las variables estáticas tienen la propiedad de preservar su valor incluso después de que estén fuera de su alcance! Por lo tanto, las variables estáticas conservan su valor anterior en su ámbito anterior y no se inicializan de nuevo en el nuevo ámbito. 

Sintaxis: 

static data_type var_name = var_value;

registrar variables

Los registros son más rápidos que la memoria para acceder, por lo que las variables que se usan con más frecuencia en un programa C se pueden poner en registros usando la palabra clave de registro. La palabra clave registro sugiere al compilador que una variable determinada se puede colocar en un registro. Es elección del compilador ponerlo en un registro o no. Generalmente, los propios compiladores realizan optimizaciones y colocan las variables en el registro. 

Sintaxis:  

register data_type var_name = var_value;

Diferencias entre variables estáticas y variables de registro en C. 

Variables estáticas Registrar Variables
La palabra clave utilizada es – “estático”. La palabra clave utilizada es – “registrarse”.
La variable estática puede ser interna o externa según el lugar de declaración. Las variables de registro se declaran dentro de una función.
Las variables estáticas internas son similares a las variables automáticas o variables locales. Mientras que las variables estáticas externas son similares a las variables globales. Las variables de registro son similares a las variables automáticas, locales o internas.
La velocidad de ejecución es más lenta que las variables de registro. Las variables de registro conducen a una ejecución más rápida de los programas.
Las variables estáticas internas están activas (visibilidad) en la función particular y las variables estáticas externas están activas en todo el programa. Las variables de registro están activas solo dentro de la función.
Las variables estáticas internas están vivas (vida útil) hasta el final de la función y las variables estáticas externas están vivas en todo el programa. Las variables de registro están vivas hasta el final de una función.
Variables estáticas almacenadas en segmentos de datos inicializados. Las variables de registro se almacenan en registros.
La variable estática se almacena en la memoria del segmento de datos. En las variables de registro, la propia CPU almacena los datos y accede rápidamente.

Publicación traducida automáticamente

Artículo escrito por akshara_a y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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