|
Есть процедура:
void Test()
{
char Test[100],f;
for(f=0;f<100;f++) Test[f]=f;
}
Запускаю в дебагере Spy. Смотрю в окне Watch: до 15 индекса заполнение идет, как надо, а дальше всякая чертовщина.
Переношу объявление Test в начало модуля, делая глобальной переменной - все нормально.
Где моя ошибка и чего я не указал? Как сделать этот пример рабочим без объявления переменной глобально?
Почему хочу такой большой массив в функции объявлять? Потому что в пдф по тому, как писать на Си, написано, что все локальные переменные, объявленные внутри процедур, убиваются после окончания их выполнения и не потребляют памяти. А делать ее глобальной - значит лишить контроллер 100 байт памяти. Это, простите, грех.
E-mail: info@telesys.ru