Если заранее известно, что некий параметр не будет менять значение в процессе выполнения программы, зачем создавать лишние сложности и вводить константу? Почему нельзя вставить его прямо в текст соответствующей инструкции? Например, если программа начинается с директивы
#define PHONE "555-1234"
то, чтобы вывести номер телефона на дисплей, надо написать следующую инструкцию:
puts(PHONE);
Но так как известно, что номер не будет меняться в процессе выполнения программы, то можно было с тем же результатом написать просто
puts("555-1234");
Рис. 10. Использование констант позволяет легко вносить изменения в программу
и не тратить время на введение в текст директивы #define и определение имени константы.
Однако использование констант позволяет легче вносить изменения в программу. Предположим для примера, что программа 20 раз использует ваш номер телефона. Может случиться так, что номер изменится, и тогда, если вы не использовали константу, вам придется редактировать 20 функций puts(). Если же вы по ошибке отредактируете только 19 функций puts(), это приведет к тому, что в одном случае будет использован неправильный номер. Введение константы позволит ограничиться изменением только одного места программы, а именно, потребуется вставить новый номер телефона в директиву #define. Как показано на рис.10, все функции puts() будут исправлены автоматически.
Все сказанное выше справедливо и для числовых констант. Вместо использования директивы
#define TAX 0.06
и выполнения вычислений с использованием константы TAX, можно было бы ввести значение 0.06 прямо в формулу. Но, допустим, размер налога в вашем штате изменится с 6 до 6.5 процентов, тогда, если вы не использовали константу, вам придется исправлять эту цифру везде, где она встречается, вместо того, чтобы ограничиться простым изменением директивы #define.Помимо перечисленных преимуществ, константы дают возможность символьного представления трудных для запоминания числовых величин, а в некоторых случаях сокращают исходный текст (и, как следствие, ускоряют его ввод), если заменить часто встречаемую фразу, например стандартное сообщение, более коротким именем.