Содержание
- 2. Препроцессор Программа препроцессора #define SMALL #ifdef SMALL #define N 10 #define number short int #else #define
- 3. Препроцессор Синтаксис: текст директива
- 4. Директивы - определение Синтаксис определение ¶ - перевод строки
- 5. Директивы - вызов Синтаксис вызов аргумент
- 6. Директивы - определение Примеры: #define COOL #define N 25 #define begin { #define end } #define
- 7. Директива - вызов Пример: COOL forever begin printat(); printnum(N); end for ( ; ; ) {
- 8. Директива - определение Пример: опасный синтаксис ? X : Y) (X, Y) ( X > Y
- 9. Директива - определение Пример: опасный синтаксис (A > B ? A : B) #define max(X, Y)
- 10. Директива - определение Пример: дублирование кода и вычислений (f(A,B) > sqrt(A*A+B*B) ? f(A,B) : sqrt(A*A+B*B)) #define
- 11. Директива - определение Пример: рекурсия #define fact(n) (n==0 ? 1 : (n)*fact(n-1)) fact(10) зацикливание (10==0 ?
- 12. Директива - включение Синтсксис
- 13. Директива - включение Примеры: #include “main.h” #include “..\\include\\person.h” #include “../include/person.h” #include “d:\\projects\\dialogs\\form.h” #include #include “stdio.h”
- 14. Директива - условное Синтаксис Альтернатива Услов-опред
- 15. Директива - условное Пример #define SMALL #ifdef SMALL #define N 10 #define number short int #else
- 16. Директива - условное Синтаксис Услов-опред
- 17. Директива - условное Пример #define N 18 #define B(k) ((N & ~(k-1)) == 0) #if (B(8))
- 18. Директивы - условное Пример: #ifdef – устаревшее. Эквивалентно: #ifdef A … #endif #if (defined(A)) … #endif
- 19. Операции # и ## ## - конкатенация идентификаторов, # - преобразование в строку Пример: xy +
- 20. Типичные использования Повторное включение #include “io.h” … #ifndef IO_DEFINED #define IO_DEFINED #define read() …. #define write()
- 21. Типичные использования Определение констант #define N 25 #define N2 25*(25-1) int X[N2-1];
- 22. Типичные использования Условная трансляция switch (code) { #ifdef debug case codeA : … break; #endif case
- 24. Скачать презентацию