Цитата(777777 @ Apr 28 2008, 09:40)

Постом выше я подробно разъяснил, в каких именно случаях переменные нет смысла инициализировать, но и там где это требоется, это долже делать программист, а не компилятор.
Еще неплохо бы подумать, должны ли все перечисленные в ваших примерах переменные быть глобальными или статическими. Если ответ "да", то о какой экономии вы тут нас пытаетесь агитировать? Если ответ "нет" - идем читать учебник или стандарт об инициализации автоматических переменных - очень удивитесь.
Двигаемся дальше.
Цитата(777777 @ Apr 28 2008, 09:40)

но и там где это требоется, это долже делать программист
Теперь берите в руки дизассемблированный листинг той самой инициализации и смотрите, как реализовывается желание программиста: для каждой такой переменной начальное значение должно где-то храниться, чтобы при старте программы было известно, каким именно значением захотел инициализировать программист. Вы знаете более другой способ чем копирование начальных значений? Тогда нам интересно будет вас послушать. Развиваем эту мысль. Очень много (подавляющее большинство) переменных программист захочет проинициализировать нулем (поверьте, это так). Вы предлагаете в этом случае хранить во флеше по нулю для каждой переменной вместо того, чтобы очистить их всех скопом в цикле? О какой экономии вы тогда нас агитируете снова?
Цитата(777777 @ Apr 28 2008, 09:52)

Я полагаю, в 99 и 9 в периоде процентах проектов есть переменные, которые не требуется инициализировать или которые нужно инициализировать не нулем, следовательно код в них будет избыточным.
Вы полагаете неправильно. С точностью до наоборот, в 99 и 9 в периоде процентах глобальные и статические переменные требуется инициализировать нулем.
Цитата(777777 @ Apr 28 2008, 09:52)

Например массив, в котором хранятся данные для вывода на 7-сегментные индикаторы - для их выключения туда нужно записать все единицы.
Кому как. Это уже от прямоты рук зависит. У меня они гасятся нулями, поэтому массив очищается в цикле вместе с остальными глобальными и статическими переменными (представляете экономию кода - мне не нужно тратить место на еще один цикл заполнения массива единицами)
Цитата(777777 @ Apr 28 2008, 09:52)

Комплятор генерирует код, который заполняет их нулями. Вы видите какой-то смысл в том чтобы дважды инициализировать эту область памяти?
Код
uint8_t Buffer[3] = { 0xFF, 0xFF,0xFF };
Где инициализируется дважды? Я вижу смысл в изучении языка и документации, а также алгоритмов. Вы можете ругать компилятор - от этого ваши программы "прямее" не станут.
Цитата(777777 @ Apr 28 2008, 09:52)

PS. еще интересно бы проверить, как он относится к объектам классов в режиме С++,
Интересно - проверяйте. Мне достаточно прочитать об этом в учебнике по С++.