Олеся
Олеся

Что такое литералы ?

Читаю в разных источниках и путаюсь. Например в википедии написано "Литералы представляют собой константы, включаемые непосредственно в текст программы" и там же далее "В отличие от прочих элементов языка (констант, переменных (то есть уже не константа ?)), литералы не могут быть изменены в тексте программы.", или вот например нашел еще такую фразу " Литерал является не адресуемой величиной, нет никакого способа узнать его адрес"

Константой я всегда считал значение переменной объявленной как константа и которое нельзя изменить (например const float PI = 3.14), тогда действительно изменить это значение нельзя и переменная (константа) PI всегда будет равна 3.14.

В примерах литералов пишут просто float PI = 3.14 при этом никаких констант не объявляется и пишут что значение изменить нельзя, но ведь это значение изменить можно (PI = PI + 2), получается литерал никак нельзя назвать константой, да и адрес в памяти известен если переменной присвоен "литерал".

Правильно ли я понял? например:
Нужно вычислить площадь круга, если я запишу так:

integer radius = 100 /- переменная со значением 100 не литерал и не константа
integer S = 3.14 * radius * radius /- вот тут 3.14 и будет литералом, так как само число "пи" записано в коде программы и изменить его нельзя и ссылки на него нет.

Если верно, тогда зачем в примерах литерал присваивают переменным ?

Или литералами называются любые явно присвоенные значения (данные) написанные в коде программы и не взятые из внешних источников, например из базы данных. Тогда почему это константы если по сути их изменить все же можно? просто так условились (что менять их нельзя)? ведь переменную можно перезаписать входе выполнения программы.

Если все неверно, объясните пожалуйста от обратного, что тогда не является литералами ?

Помогите пожалуйста разобраться

ЕС
Егор Сосков

integer radius = 100
в данном случае 100 - литерал, radius переменная в которую заносится литерал, изменить 100 программно не получится, поскольку изменять можно только его "копию", которую занесли в переменную

Еще пример
integer radius = 200-50
Имеем два литерала 200 и 50, результат вычисления выражения ( 150 ) заносится в переменную и сразу становится заметно, что переменная и литерал - разные вещи ( в первом примере их значения совпадали и это приводило к ложному мнению, что переменная и литерал как-то связаны )

АН
Андрей Новиков

как либералы только т вместо б

Похожие вопросы
Что такое модуль функция. Что такое модуль, функция
Что такое сопроцессор?
как сделать такую такую загрузку ?
Как и через что такую картинку?
что такое определение?
что такое происходит у меня??
кто такие FTP-пользователи? ? кто такие FTP-пользователи??
что такое графические примитивы? что такое
Что такое? Первый раз с таким столкнулся
что такое полиграфия? и что такое полиграфическая промышленность?