| netlib.narod.ru | < Назад | Оглавление | Далее > |
Последнее замечание, прежде чем мы навсегда оставим программу перевода температур. Прятать «магические числа», такие как 300 и 20, внутрь программы — это неудачная практика; они дают мало информации тем, кто, возможно, должен будет разбираться в этой программе позднее, и их трудно изменять систематическим образом. Один из способов работать с «магическими числами» — дать им значащие имена. Конструкция #define позволяет определить символьное имя или именованную константу, которая будет заменяться конкретной строкой символов:
#define имя подставляемый текст
После данной строки компилятор заменит все не заключенные в кавычки и не являющиеся частью другого слова появления указанного имени на соответствующий текст. Имя формируется по тем же правилам, что и имена переменных — оно должно быть последовательностью букв и цифр и начинаться с буквы. Подставляемый текст может быть абсолютно произвольным, не обязательно только цифрами.
#include <stdio.h>
#define LOWER 0 /* Нижняя граница таблицы */
#define UPPER 300 /* Верхняя граница */
#define STEP 20 /* Размер шага */
/* Печать таблицы температур по Фаренгейту и Цельсию */
main()
{
int fahr;
for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
printf("%3d %6.1f\n", fahr, (5.0/9.0) * (fahr - 32));
}
Величины LOWER, UPPER и STEP — это именованные константы, а не переменные, поэтому для них нет объявлений. По общепринятому соглашению имена именованных констант набираются заглавными буквами, чтобы они отличались от написанных строчными буквами имен переменных. Обратите внимание, что в конце строки #define точка с запятой не ставится.
| netlib.narod.ru | < Назад | Оглавление | Далее > |