Глава 2
42
Локальную переменную можно использовать только внутри блока, в
котором она объявлена. Более того, локальные переменные существуют
только во время выполнения этого программного блока - создаются при
входе в блок, и разрушаются при выходе. Таким образом, локальная
переменная, объявленная в одном блоке, не имеет никакого отношения к
переменной с тем же именем,
объявленной в другом блоке. Однако, во
избежание трудно идентифицируемых ошибок при разработке
программного обеспечения для микроконтроллеров, лучше не
злоупотреблять этими сведениями, и использовать разные имена локальных
переменных хотя бы в пределах каждой функции. Исключение могут
составлять переменные-счетчики цикла.
В отличие от локальных, глобальные переменные могут использоваться
в любом месте
программы, и сохраняют свое значение на протяжении всей ее
работы. Глобальная переменная может входить в любое выражение,
независимо от того, в каком блоке оно используется. Однако если имена
глобальной и локальной переменной в каком-либо блоке совпадают, внутри
этого блока будет использована локальная переменная, а глобальная видна не
будет.
При объявлении
переменной она может быть инициализирована. Для
этого нужно после ее объявления поставить знак равенства и константу –
необходимое начальное значение:
тип_переменной имя_переменной = константа;
Глобальные переменные инициализируются только один раз в начале
работы программы, неинициализированные глобальные переменные в начале
работы программы автоматически обнуляются. Локальные переменные
инициализируются каждый раз при входе в блок, в котором они объявлены,
неинициализированные локальные переменные до первого присвоения
имеют произвольное значение.