Вы тут кода написали - прямо сборник антипаттернов проектирования. Вредные советы, как не надо делать.Dimon456 писал(а):вопрос возникает - можно ли еще уменьшить размер функции если использовать так
Даже если какие-то трюки позволят вам сократить размер функции на несколько байт, вреда от такого подхода в долгосрочной перспективе будет больше.
Функции, использующие глобальные переменные, совершенно не гибкие и имеют побочные эффекты, о которых ничего неизвестно из их объявления (прототипа). Никогда не используйте глобальных переменных в функциях. Если надо - передавайте их в функцию через параметры (как именно - по значению или по указателю/ссылке - это уже другой вопрос).
А статические локальные переменные - они на то и локальные, что за пределами функции не видны. Вы сами специально делаете их локальными именно для этого. Так что не надо окольными путями пытаться получить доступ к ним извне функции, где они определены. Если они нужны вам ещё где-то (в других функциях) - делайте их глобальными и передавайте в функции через параметры.


