Переменная (информатика)


В компьютерном программировании переменная представляет собой абстрактное место хранения, связанное с символическим именем , которое содержит некоторое известное или неизвестное количество информации, называемой значением ; или, проще говоря, переменная представляет собой контейнер для определенного набора битов или типа данных (например, целое число, число с плавающей запятой, строка и т. д.). В конечном итоге переменная может быть связана с адресом памяти или идентифицирована по нему . Имя переменной является обычным способом ссылкисохраненное значение, помимо ссылки на саму переменную, в зависимости от контекста. Такое разделение имени и содержимого позволяет использовать имя независимо от точной информации, которую оно представляет. Идентификатор в исходном коде компьютера может быть связан со значением во время выполнения , и, таким образом, значение переменной может измениться в ходе выполнения программы . [1] [2] [3] [4]

Переменные в программировании могут не соответствовать прямому понятию переменных в математике . Последний является абстрактным и не имеет ссылки на физический объект, такой как место хранения. Значение вычислительной переменной не обязательно является частью уравнения или формулы , как в математике. Переменным в компьютерном программировании часто дают длинные имена, чтобы сделать их относительно описательными для их использования, тогда как переменные в математике часто имеют краткие, одно- или двухсимвольные имена для краткости при транскрипции и манипулировании.

На место хранения переменной могут ссылаться несколько разных идентификаторов, что называется псевдонимом . Присвоение значения переменной с использованием одного из идентификаторов изменит значение, к которому можно получить доступ через другие идентификаторы.

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

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

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