Инициализация глобальной и статической переменной на 0 всегда не нужна?

Стандарт C гарантирует, что глобальные и статические переменные, если они не инициализированы, всегда0.

Вот мой вопрос: неинициализированные глобальные и статические переменные идут вBSS сегмент в программе. Так называется0 должно бытьall-bit 0.

Для интегральных переменныхall-bit 0 будет оцениваться как0, Переменные с плавающей точкой, если следующиеIEEE 754, это также0.0, Но для указателей нулевые указатели не обязательно должны бытьall-bit 0то же самое происходит с инициализацией глобального указателя:

int* p = NULL;

сделать разницу просто:

int *p;

Ответы на вопрос(2)

Ваш ответ на вопрос