С 6.7.8.10 в стандарте C99:Гарантировано ли, что глобальные переменные всегда инициализируются до 0 с помощью c99?
Если объект, который имеет автоматическую продолжительность хранения не инициализирована явно, его значение неопределенными. Если объект, который имеет статическую длительность хранения, не инициализируется явно, затем:
- если у него есть указатель, он инициализируется нулевым указателем;
- если у него арифметический тип, он инициализируется (положительным или без знака) нулем;
- если это совокупность, каждый член инициализируется (рекурсивно) в соответствии с этими правилами;
- если это объединение, первый именованный элемент инициализируется (рекурсивно) в соответствии с этими правилами .
Является глобальной переменной любого типа (массив, структура, бит), которая всегда определяется как static storage
?
Да, насколько они хранятся в 'bss' секции. – LPs
О! В этом-то и дело. Как я могу убедиться, что он находится в разделе 'bss'? – nowox
«глобальная переменная» не является термином, используемым стандартом C. «объект со статическим временем хранения». Если вы все еще неясны, возможно, точно укажите, что вы подразумеваете под «глобальной переменной» –