cuando las variables estáticas y globales inicializadas en C y C?
en C y C, variables estáticas y globales tienen procedimientos de inicialización distintos. A diferencia de C, donde los objetos estáticos y globales experimentan la construcción antes de la función principal, C carece de dicha inicialización.
Timing de inicialización en C
en C Código, variables globales como Global_int1 y Global_int2, que no tienen un inicializador expícito, se inician a 0 por el sistema. Sin embargo, las variables estáticas STATIC_INT1 y STATIC_INT2 no se inicializan. Sus valores permanecen indeterminados hasta que se establezcan explícitamente dentro del programa.
Los valores de inicialización en C
variables con inicializadores explícitos, como global_int1 con el valor 5, se les asigna sus valores por el compilador como parte de la traducción del código. Este valor se almacena en el segmento de datos del archivo ejecutable.
En la ejecución del programa, el sistema carga el archivo ejecutable en la memoria, incluido el segmento de datos. Las variables globales se asignan la memoria y se inicializan con los valores almacenados en el segmento de datos.
Fases de inicialización en c
c siguen un proceso de inicialización de tres fases para objetos estáticos con alcance de espacio de nombres:
[&]Los valores de inicialización estática en C se almacenan en el segmento de datos del archivo ejecutable. Similar a C, estos valores se cargan en la memoria durante la ejecución del programa y se asignan a las variables respectivas.
sin inicializadores o con inicialización dinámica se asignan memoria en el segmento BSS. El sistema inicializa estas variables a 0 antes de la ejecución del programa.Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3