Присвоение ( англ. assignment ) - механизм в программировании, позволяющий динамически изменять связи объектов данных (обычно, переменных ) с их значениями. Строго говоря, изменение значений является побочным эффектом операции присвоения, и во многих современных языках программирования сама операция также возвращает некоторый результат (как правило, копию присвоенного значения). На физическом уровне результат операции присвоения состоит в проведении записи и перезаписи фрагментов памяти или регистров процессора.
Присвоение - одна из центральных конструкций в императивных языках программирования, эффективно и просто реализуется на фон-неймановской архитектуре, которая лежит в основе современных компьютеров.
В логическом программировании принято другой, алгебраический подход. Обычного («деструктивного») присвоение здесь нет. Существуют только неизвестные, которые еще не вычислены, и соответствующие идентификаторы для обозначения этих неизвестных. Программа только определяет их значение, сами они стали. Конечно, в реализации программа производит запись в память, но языки программирования этого не отражают, давая программисту возможность работать с идентификаторами постоянных значений, а не с переменными.
В чистом функционального программирования не используют переменные, поэтому явный оператор присвоения не требуется.
Общий синтаксис простого присвоения выглядит так:
<Выражение слева> <оператор присваивания> <выражение справа>