Переменные, типы данных

Приведение типов, область видимости

Приведение типов данных происходит если в операции участвуют несколько различных типов. Например:

float x = 5;

В данном случае у числа 5 тип данных int, но компилятор понимает что тип данных float по умолчанию включает в себя все значения типа int, и происходит автоматическое (или как его называют неявное) приведение типа к float.

А вот такая запись будет уже ошибочной:

int a = 5.257;

Так как целочисленный тип данных не может содержать дробную часть, и появляется закономерный вопрос что с ней делать. В таких случаях мы можем принудительно изменить тип данных, написав новый тип в скобках, например это может выглядеть так:

float y = 18.23;
int x = (int) y;

Такое преобразование называется явным, и в этом случае программист берёт на себя возможные риски потери данных(в данном случае - отброс дробной части).

Также в работе с переменными необходимо учитывать, что их можно объявить в любой точке программы, но существует область программы, в которой они будут доступны для использования. Это называется областью видимости переменных.

Рассмотрим правила области видимости:

  1. Переменную нельзя использовать до того, как она была объявлена.
  2. Область видимости глобальной переменной – от точки объявления и до конца файла, в котором она объявлена.
  3. Область видимости статической переменной – от точки объявления и до конца блока, в котором она объявлена (под блоком понимается часть программы, заключённая в фигурные скобки или тело цикла, если переменная объявлена в заголовке цикла for).
  4. Нельзя объявлять две переменные с одинаковыми именами на глобальном уровне или в одном и том же блоке.
  5. Переменные с одинаковыми именами, объявленные в разных блоках – это разные переменные;
  6. Переменная, объявленная в блоке временно заменяет переменную с тем же именем, объявленную в блоке выше.