Константа в программировании — способ адресации данных, изменение которых рассматриваемой программой не предполагается или запрещается.
Использование именованных констант — приём, повышающий надёжность и безошибочность программ, позволяя избегать использования «магических чисел».
При наличии синтаксической поддержки в языке программирования не именованные константы можно записывать в тексте программ как литералы.
Другие языки программирования и технологии
Что "констант" в языке си? Говорят переменные которые ранее хранятся в программе и их нельзя изменять. Объясните поточнее
Алимжан Рыскалиев
А где находятся эти константы? В stdio.h?
КОНСТАНты... Не переменные, а ПОСТОЯННЫЕ. Прямо по названию. Могут быть любого вида.
Константы - прием программирования. Это практически тоже переменная, объявляемся программистом в своей программе как неизменяемая, т. е. const в С++ и #define в С.
При этом использование const в С++ более удобно и предпочтительно.
Пример :
на С:
#define MAX 100
на С++:
const int MAX=100;
При включении в свою программу библиотечных модулей их константы тоже становятся доступными, и их нельзя изменить. А в своем модуле при необходимости я легко могу исправить константу на const int MAX=1000;
При этом использование const в С++ более удобно и предпочтительно.
Пример :
на С:
#define MAX 100
на С++:
const int MAX=100;
При включении в свою программу библиотечных модулей их константы тоже становятся доступными, и их нельзя изменить. А в своем модуле при необходимости я легко могу исправить константу на const int MAX=1000;
const означает, что линкер поместит это значение в секцию с атрибутами read only. Вообще большинство секций в программе read only, в том числе, секция с кодом. От define отличается тем, что const существует физически в экзешнике (в секции, отдельно от кода), с него можно взять адрес, инициализировать указатель, а дефайн - нет. Значение define подставляется непосредственно в код при компиляции, столько раз, сколько в исходнике встречается, если это переменная или макрос. Если дефайн определён как строка, то компилятор создаёт физический const *string, и вставляет в код (но этот указатель виден только компилятору, программисту он недоступен). По этой причине define можно сделать глобальным для всего проекта (написать в хедер, и включить с помощью include), с константой такое не прокатит. Константа обычно локальна, а если она глобальна, то только в рамках одного модуля.
Влюбом месте константа это некое зафиксированное число доказанное на практике... Так что создавая константу вы создаёте некую глобальную переменную до которой можно достучаться из любого места в коде, по мимо этого её нельзя изменить ни где кроме места её объявления...
Похожие вопросы
- Вопрос по языку Си. Почему в тесте написано, что эта программа будет работать?
- Как на языке программирования си сделать, чтобы при вводе полного бреда программа не поломалась?
- какую программу лучше использовать для программирования на языке Си?
- Язык Си. Помогите пожалуйста написать простую программу.
- Помогите, пожалуйста, написать программу на языке Си
- Почему язык СИ такой сложный?
- Помогите доделать программу пожалуйста ) На языке Си
- помогите понять-программа, которая переводит новую написанную программу на языке, понятном прогр
- Как настроить Python под Си? Как написать программу на языке Си в Python'е ?
- Как вернуть значение переменной присвоенное ранее? Pascal