ВУЗ:
Составители:
Рубрика:
ɨɛɴɹɜɢɬɶ ɢɦɹ ɫɬɪɭɤɬɭɪɧɨɝɨ ɬɢɩɚ MyStruct, ɭɤɚɡɚɬɟɥɶ ɧɚ ɷɬɨɬ ɬɢɩ
PMyStruct ɢ ɬɢɩ ɫɫɵɥɤɢ ɧɚ ɧɟɝɨ RMyStruct, ɬɨ ɟɫɬɶ ɩɨɥɭɱɢɬɶ ɜ ɜɵɯɨɞɧɨɦ
ɬɟɤɫɬɟ ɫɬɪɨɱɤɢ
struct MyStruct;
typedef MyStruct *PMyStruct;
typedef MyStruct &RMystruct;
3.4. ɍɫɥɨɜɧɚɹ ɤɨɦɩɢɥɹɰɢɹ
Ⱦɢɪɟɤɬɢɜɵ ɩɪɟɩɪɨɰɟɫɫɨɪɚ #if, #else, #endif ɢ #elif ɩɨɡɜɨɥɹɸɬ, ɜ
ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɪɟɡɭɥɶɬɚɬɨɜ ɩɪɨɜɟɪɤɢ ɧɟɤɨɬɨɪɵɯ ɭɫɥɨɜɢɣ, ɜɤɥɸɱɚɬɶ ɜ ɩɪɨ-
ɝɪɚɦɦɭ ɨɞɢɧ ɢɡ ɧɟɫɤɨɥɶɤɢɯ ɜɚɪɢɚɧɬɨɜ ɬɟɤɫɬɚ:
#if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ
ɬɟɤɫɬ 1
# else
ɬɟɤɫɬ 2
#endif
ɞɚɥɶɧɟɣɲɢɣ ɬɟɤɫɬ.
ɍɫɥɨɜɢɟ — ɷɬɨ ɤɨɧɫɬɚɧɬɧɨɟ ɜɵɪɚɠɟɧɢɟ, ɤɨɬɨɪɨɟ ɫɬɪɨɢɬɫɹ ɢɡ ɦɚɤɪɨ-
ɢɦɟɧ, ɤɨɧɫɬɚɧɬ ɢ ɡɧɚɤɨɜ ɨɩɟɪɚɰɢɣ, ɜɤɥɸɱɚɹ ɥɨɝɢɱɟɫɤɢɟ ɫɜɹɡɤɢ «
&&» ɢ
«
||». Ⱦɨɩɭɫɤɚɟɬɫɹ ɬɚɤɠɟ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɜɵɪɚɠɟɧɢɹ sizeof(ɢɦɹ_ɬɢɩɚ) ɢ
ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɮɭɧɤɰɢɢ
defined(ɦɚɤɪɨɢɦɹ), ɜɨɡɜɪɚɳɚɸɳɟɣ 1, ɟɫɥɢ
ɷɬɨ ɦɚɤɪɨɢɦɹ ɨɩɪɟɞɟɥɟɧɨ, ɢ 0, ɟɫɥɢ ɨɧɨ ɧɟ ɨɩɪɟɞɟɥɟɧɨ. ȼɦɟɫɬɨ ɞɢɪɟɤɬɢɜɵ
#if defined(DEBUG)
ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ
#ifdef DEBUG
ȼɦɟɫɬɨ
#if !defined(DEBUG)
ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ
#ifndef DEBUG
Ʉɨɦɛɢɧɚɰɢɢ #if - #else ɦɨɝɭɬ ɛɵɬɶ ɜɥɨɠɟɧɧɵɦɢ, ɩɪɢɱɟɦ ɩɨɫɥɟɞɨ-
ɜɚɬɟɥɶɧɨɫɬɶ
#else - #if ɡɚɦɟɧɹɟɬɫɹ ɨɞɧɨɣ ɞɢɪɟɤɬɢɜɨɣ #elif ɫ ɭɫɥɨɜɢɟɦ:
#if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_1
ɬɟɤɫɬ 1
#elif ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_2
ɬɟɤɫɬ_2
#else
40
ɨɛɴɹɜɢɬɶ ɢɦɹ ɫɬɪɭɤɬɭɪɧɨɝɨ ɬɢɩɚ MyStruct, ɭɤɚɡɚɬɟɥɶ ɧɚ ɷɬɨɬ ɬɢɩ PMyStruct ɢ ɬɢɩ ɫɫɵɥɤɢ ɧɚ ɧɟɝɨ RMyStruct, ɬɨ ɟɫɬɶ ɩɨɥɭɱɢɬɶ ɜ ɜɵɯɨɞɧɨɦ ɬɟɤɫɬɟ ɫɬɪɨɱɤɢ struct MyStruct; typedef MyStruct *PMyStruct; typedef MyStruct &RMystruct; 3.4. ɍɫɥɨɜɧɚɹ ɤɨɦɩɢɥɹɰɢɹ Ⱦɢɪɟɤɬɢɜɵ ɩɪɟɩɪɨɰɟɫɫɨɪɚ #if, #else, #endif ɢ #elif ɩɨɡɜɨɥɹɸɬ, ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɪɟɡɭɥɶɬɚɬɨɜ ɩɪɨɜɟɪɤɢ ɧɟɤɨɬɨɪɵɯ ɭɫɥɨɜɢɣ, ɜɤɥɸɱɚɬɶ ɜ ɩɪɨ- ɝɪɚɦɦɭ ɨɞɢɧ ɢɡ ɧɟɫɤɨɥɶɤɢɯ ɜɚɪɢɚɧɬɨɜ ɬɟɤɫɬɚ: #if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ ɬɟɤɫɬ 1 # else ɬɟɤɫɬ 2 #endif ɞɚɥɶɧɟɣɲɢɣ ɬɟɤɫɬ. ɍɫɥɨɜɢɟ — ɷɬɨ ɤɨɧɫɬɚɧɬɧɨɟ ɜɵɪɚɠɟɧɢɟ, ɤɨɬɨɪɨɟ ɫɬɪɨɢɬɫɹ ɢɡ ɦɚɤɪɨ- ɢɦɟɧ, ɤɨɧɫɬɚɧɬ ɢ ɡɧɚɤɨɜ ɨɩɟɪɚɰɢɣ, ɜɤɥɸɱɚɹ ɥɨɝɢɱɟɫɤɢɟ ɫɜɹɡɤɢ «&&» ɢ «||». Ⱦɨɩɭɫɤɚɟɬɫɹ ɬɚɤɠɟ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɜɵɪɚɠɟɧɢɹ sizeof(ɢɦɹ_ɬɢɩɚ) ɢ ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɣ ɮɭɧɤɰɢɢ defined(ɦɚɤɪɨɢɦɹ), ɜɨɡɜɪɚɳɚɸɳɟɣ 1, ɟɫɥɢ ɷɬɨ ɦɚɤɪɨɢɦɹ ɨɩɪɟɞɟɥɟɧɨ, ɢ 0, ɟɫɥɢ ɨɧɨ ɧɟ ɨɩɪɟɞɟɥɟɧɨ. ȼɦɟɫɬɨ ɞɢɪɟɤɬɢɜɵ #if defined(DEBUG) ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ #ifdef DEBUG ȼɦɟɫɬɨ #if !defined(DEBUG) ɦɨɠɧɨ ɧɚɩɢɫɚɬɶ #ifndef DEBUG Ʉɨɦɛɢɧɚɰɢɢ #if - #else ɦɨɝɭɬ ɛɵɬɶ ɜɥɨɠɟɧɧɵɦɢ, ɩɪɢɱɟɦ ɩɨɫɥɟɞɨ- ɜɚɬɟɥɶɧɨɫɬɶ #else - #if ɡɚɦɟɧɹɟɬɫɹ ɨɞɧɨɣ ɞɢɪɟɤɬɢɜɨɣ #elif ɫ ɭɫɥɨɜɢɟɦ: #if ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_1 ɬɟɤɫɬ 1 #elif ɩɪɟɩɪɨɰɟɫɫɨɪɧɨɟ_ɭɫɥɨɜɢɟ_2 ɬɟɤɫɬ_2 #else 40
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »