Цитата(GetSmart @ Jun 9 2006, 07:09)

Может не по делу, но...
Если описывать const внутри процедуры, то она будет в ram. Надо писать static const ...
Зависит от... В С const по умолчанию имеет внешнее связывание, поэтому компилятор должен размещать этот объект в памяти - вдруг на него есть ссылки из других единиц компиляции (ЕК). В С++ const имеет внутреннее связывание, поэтому у компилятора нет никаких причин пихать объект в память при условии, что он не объявлен extern и нигде внутри этой ЕК не берется адрес этого констатнтого объекта. Чтобы в С добиться ++ного поведения, можно, как Вы и сказали, использовать static, указывая, что объект локальный (для данной ЕК), снаружи не виден. Т.ч. по умолчанию зависит от того, включен ли режим ++ (--ec++, --eec++).
«Отыщи всему начало, и ты многое поймёшь» К. Прутков