¿Inicialización global y variable estática a 0 siempre es innecesaria?
El estándar C garantiza que las variables globales y estáticas, si no se inicializan, son siempre0
.
Aquí está mi pregunta: las variables globales y estáticas no inicializadas van aBSS
Segmento en el programa. Así que los llamados0
debiera serall-bit 0
.
Para variables integrales,all-bit 0
será evaluado como0
. Las variables de punto flotante, si se siguenIEEE 754, es también0.0
. Pero para los punteros, los punteros nulos no son necesariamente para serall-bit 0
, también lo hace la inicialización de un puntero global como este:
int* p = NULL;
hacer cualquier diferencia a solo:
int *p;