hubble писал(а):Что не везде локальную переменную можно использовать так гбе бы, по логике вещей, она должна была бы находиться
Это как?
galex1981 писал(а):есть если в функции несколько циклов следующих друг за другом, для индекса не 3 объявляй переменных а 1. Ну и аналогично для остального.
Компиляторы достаточно сообразительны, чтобы самостоятельно определить время жизни переменной, и в случае с 3 циклами в большинстве случаев будет сгенерирован одинаковый код, что с 1 переменной, что с 3. Причем на расход ОЗУ это тоже мало влияет - локальные переменные в большинстве случаев хранятся в регистрах, а не в ОЗУ. Если конечно не объявлять кучу локальных переменных.
Кстати небольшое замечание по поводу "хватает ОЗУ" : если у контроллера 1024 байта ОЗУ, и компилятор сообщает, что используется 1020 - это еще не значит, что программа работать будет. Не забывайте про стэк.