Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Директива #define без параметров




Продолжая знакомиться с директивами препроцессора, рассмотрим директиву #define, посредством которой обычно определяются константы. Как всегда, начнем с того, что приведем простой пример:

#include <stdio.h>

#define N 10

void main(void)

{ int i;

for (i=0;i<N;i++) printf("\nПривет, мир!");

}

Неужели нельзя было просто написать i<10?

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

Кроме того, с помощью #define обычно определяются "популярные" константы (пи, е и т.п.). Ведь даже если каждая такая константа в программе используется единожды (что маловероятно), написать #define PI 3.14159265358979323846

и использовать в самой программе имя PI гораздо удобнее, чем записывать числовое значение непосредственно в программе.

Все "популярные" числовые константы и так уже определены в заголовочном файле math.h. Чтобы узнать их имена, можно посмотреть на содержимое файла. Число пи в нем определено константой М_Р1, число е ? константой М_Е. Почему перед ними стоит префикс "М_"? Достоверно не знаем, наверное, потому, что они находятся в math.h.




Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных