home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / document / turbo_cl.lzh / TCL.DOC < prev   
Text File  |  1988-03-15  |  77KB  |  2,461 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                    îáΓѼΓáΓ¿τÑ߬«Ñ «íÑß»ÑτÑ¡¿Ñ
  13.                         »Ñαß«¡á½∞¡δσ ¥éî
  14.  
  15.  
  16.  
  17.                              TURBO-C
  18.  
  19.  
  20.                          Ä»¿ßá¡¿Ñ ∩ºδ¬á
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.                            î«ß¬óá 1988
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                               - 2 -
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                             Ç¡¡«Γᵿ∩
  72.  
  73.  
  74.  
  75.       é ñá¡¡«¼ ñ«¬π¼Ñ¡ΓÑ »α¿óÑñÑ¡δ «Γ½¿τ¿∩ ∩ºδ¬á Turbo-C «Γ «»¿-
  76.  ßá¡¿∩ ∩ºδ¬á ó ¬¡¿úÑ ü.èÑα¡¿úá¡, ä.É¿Γτ¿ "ƒºδ¬  »α«úαá¼¼¿α«óá¡¿∩
  77.  æ¿", î. "ö¿¡á¡ßδ ¿ ßΓáΓ¿ßΓ¿¬á", 1985. Åα¿óÑñÑ¡δ αáßΦ¿αÑ¡¿∩ ∩ºδ-
  78.  ¬á. ÇóΓ«αδ: èáΦ¬áα«óá é.Ç., ÇαΓἫ¡Ñ¡¬«óá ì.ì.
  79.  
  80.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. æ«¬αáΘÑ¡¿∩ ó ΓѬßΓÑ K&R «º¡áτáεΓ ßß佬π ¡á
  81.  ¬¡¿úπ   ü.èÑα¡¿úá¡,  ä.É¿Γτ¿  "ƒºδ¬  »α«úαá¼¼¿α«óá¡¿∩  æ¿",  î.
  82.  "ö¿¡á¡ßδ ¿ ßΓáΓ¿ßΓ¿¬á", 1985.
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.                               - 3 -
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                            æ«ñÑαªá¡¿Ñ
  132.  
  133.  
  134.     Ç¡¡«Γᵿ∩................................................. 2
  135.  
  136.  1. ÄÆïêùꃠTurbo-C «Γ K&R.................................... 5
  137.  
  138.  1.1.  è«¼¼Ñ¡Γáα¿¿ (K&R 2.1).................................. 5
  139.  1.2.  êñÑ¡Γ¿Σ¿¬áΓ«αδ (K&R 2.2)............................... 5
  140.  1.3.  è½ετÑóδÑ ß½«óá (K&R 2.3)............................... 5
  141.  1.4.  è«¡ßΓá¡Γδ (K&R 2.4).................................... 6
  142.  1.4.1.  ûѽδÑ ¬«¡ßΓá¡Γδ (K&R 2.4.1).......................... 6
  143.  1.4.2.  æ¿¼ó«½∞¡δÑ ¬«¡ßΓá¡Γδ (K&R 2.4.3)..................... 7
  144.  1.4.3.  è«¡ßΓá¡Γδ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ (K&R 2.4.4)............. 7
  145.  1.5.  æΓ᫬¿ (K&R 2.5)....................................... 8
  146.  1.6.  çáó¿ß¿¼«ßΓ∞ «Γ ¼áΦ¿¡δ (K&R 2.6)........................ 8
  147.  1.7.  ÅαÑ«íαẫóá¡¿∩ (K&R 6)................................. 9
  148.  1.7.1.  Char, int ¿ enum (K&R 6.1)........................... 9
  149.  1.7.2.  ô¬áºáΓѽ¿ (K&R 6.4).................................. 9
  150.  1.7.3.  Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ »αÑ«íαẫóá¡¿∩ (K&R 6.6).............. 9
  151.  1.8.  Ä»ÑαáΓ«αδ (K&R 7.2)....................................10
  152.  1.9.  æ»Ñµ¿Σ¿¬áµ¿¿ Γ¿»«ó (K&R 8.2)...........................10
  153.  1.9.1.  Æ¿» enum.............................................11
  154.  1.9.2.  Æ¿» void.............................................11
  155.  1.9.3.  ç¡á¬«óδ⌐ ¼«ñ¿Σ¿¬áΓ«α.................................12
  156.  1.9.4.  î«ñ¿Σ¿¬áΓ«α const....................................12
  157.  1.9.5.  î«ñ¿Σ¿¬áΓ«α volatile.................................13
  158.  1.9.6.  î«ñ¿Σ¿¬áΓ«αδ cdecl ¿ pascal..........................13
  159.  1.9.6.1.  pascal.............................................14
  160.  1.9.6.2.  cdecl..............................................14
  161.  1.9.7.  î«ñ¿Σ¿¬áΓ«αδ near, far ¿ huge........................14
  162.  1.10. æΓαπ¬Γπαδ ¿ «íΩÑñ¿¡Ñ¡¿∩ (K&R 8.5)......................15
  163.  1.10.1. éδαáó¡¿óá¡¿Ñ ß½«ó....................................16
  164.  1.10.2. ü¿Γ«óδÑ »«½∩.........................................16
  165.  1.11. Ä»ÑαáΓ«αδ (K&R 9)......................................17
  166.  1.12. Ä»αÑñѽѡ¿Ñ ó¡ÑΦ¡¿σ Σπ¡¬µ¿⌐ (K&R 10.1).................17
  167.  1.12.1. î«ñ¿Σ¿¬áΓ«αδ Γ¿»á Σπ¡¬µ¿¿ (K&R 10.1.1)...............17
  168.  1.12.1.1. î«ñ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ pascal.........................17
  169.  1.12.1.2. î«ñ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ cdecl..........................18
  170.  1.12.1.3. î«ñ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ interrupt......................18
  171.  1.12.1.4. Åα«Γ«Γ¿»δ Σπ¡¬µ¿⌐ (K&R 10.1.2).....................19
  172.  1.13. Åαáó¿½á ó¿ñ¿¼«ßΓ¿ (K&R 11).............................23
  173.  1.14. è«¼á¡ñδ π»αáó½Ñ¡¿∩ Γαá¡ß½∩µ¿Ñ⌐ (R&K 12)................23
  174.  1.14.1. çá¼Ñ¡á ½Ñ¬ßѼ (K&R 12.1).............................23
  175.  1.14.2. é¬½ετÑ¡¿Ñ Σá⌐½á (K&R 12.2)...........................24
  176.  1.14.3. ôß½«ó¡á∩ ¬«¼»¿½∩µ¿∩ (K&R 12.3).......................25
  177.  1.14.4. ô»αáó½Ñ¡¿Ñ ßΓα«¬á¼¿ (K&R 12.4).......................26
  178.  1.14.5. ä¿αÑ¬Γ¿óá «íαáí«Γ¬¿ «Φ¿í«¬ (ANSI C 3.8.5)............26
  179.  1.14.6. ä¿αÑ¬Γ¿óá PRAGMA (ANSI C 3.8.6)......................26
  180.  1.14.6.1. #pragma inline.....................................27
  181.  
  182.                               - 4 -
  183.  
  184.  
  185.  
  186.  
  187.  1.14.6.2. #pragma warn.......................................27
  188.  1.14.7. ìπ½Ñóá∩ ñ¿αÑ¬Γ¿óá (ANSI C 3.7).......................27
  189.  1.14.8. éßΓα«Ñ¡¡δÑ ¼á¬α«-¿¼Ñ¡á...............................28
  190.  1.14.9. éßΓα«Ñ¡¡δÑ ¼á¬α«ßδ Turbo-C...........................28
  191.  
  192.  2. î«ñѽ¿ »á¼∩Γ¿ Turbo-C.....................................30
  193.  
  194.  2.1.     êß»«½∞º«óá¡¿Ñ    ß¼ÑΦá¡¡δσ    ¼«ñѽÑ⌐    »á¼∩Γ¿:
  195.        ¼«ñ¿Σ¿¬áΓ«αδ áñαÑßᵿ¿.................................30
  196.  
  197.  3. êß»«½∞º«óá¡¿Ñ αẽ¿τ¡δσ ∩ºδ¬«ó »α«úαá¼¼¿α«óá¡¿∩...........32
  198.  
  199.  3.1.  æ¼ÑΦÑ¡¿Ñ ∩ºδ¬«ó »α«úαá¼¼¿α«óá¡¿∩: ¿¡ΓÑαΣÑ⌐ß............32
  200.  3.1.1.   Å«ß½Ññ«óáΓѽ∞¡«ßΓ¿  »ÑαÑñáτ¿  »áαá¼ÑΓα«ó:  C   ¿
  201.          Åá߬á½∞..............................................32
  202.  3.1.1.1.    C-»«ß½Ññ«óáΓѽ∞¡«ßΓ∞   »ÑαÑñáτ¿    »áαá¼ÑΓα«ó
  203.            (ß«ú½áΦÑ¡¿Ñ ó맮óá)................................32
  204.  3.1.1.2.    Åá߬á½Ñó߬á∩   »«ß½Ññ«óáΓѽ∞¡«ßΓ∞    »ÑαÑñáτ¿
  205.            »áαá¼ÑΓα«ó (ß«ú½áΦÑ¡¿Ñ ó맮óá).....................33
  206.  3.1.2.  ê¡ΓÑαΣÑ⌐ß ß áßßѼí½Ñα«¼..............................35
  207.  3.1.2.1.  ÄíαáΘÑ¡¿∩ ¬ Σá⌐½á¼ .ASM ¿º Turbo-C.................35
  208.  3.1.2.2.  Ä»αÑñѽѡ¿Ñ ¬«¡ßΓá¡Γ ¿ »ÑαѼѡ¡δσ..................36
  209.  3.1.2.3.     Ä»αÑñѽѡ¿Ñ     ú½«íá½∞¡δσ     ¿     ó¡ÑΦ¡¿σ
  210.            ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó....................................37
  211.  3.1.3.  ÄíαáΘÑ¡¿∩ ¬ Turbo-C ¿º Σá⌐½á .ASM....................37
  212.  3.1.3.1.  æßδ½¬á ¡á Σπ¡¬µ¿¿..................................37
  213.  3.1.3.2.  æßδ½¬á ¡á ñá¡¡δÑ...................................38
  214.  3.1.4.  éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα.................................38
  215.  3.1.4.1.  æß佬¿  ¡á  ñá¡¡δÑ  ¿  Σπ¡¬µ¿¿  ¿º  óßΓα«Ñ¡¡«ú«
  216.            áßßѼí½Ñαá.........................................40
  217.  3.1.4.2.  êß»«½∞º«óá¡¿Ñ ßΓαπ¬Γπα.............................40
  218.  3.1.4.3.  êß»«½∞º«óá¡¿Ñ ¬«¼á¡ñ »ÑαÑσ«ñá ¿ ¼ÑΓ«¬..............41
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.                               - 5 -
  243.  
  244.  
  245.  
  246.  
  247.                     1. ÄÆïêùꃠTurbo-C «Γ K&R
  248.  
  249.  
  250.  
  251.  
  252.  
  253.       Turbo-C »«ññÑনóáÑΓ ¡Ñ Γ«½∞¬« «»αÑñѽѡ¿∩, ñá¡¡δÑ ó  K&R,
  254.  ¡« ¿ í«½∞Φ¿¡ßΓó« αáßΦ¿αÑ¡¿⌐ ANSI-ßΓá¡ñáαΓá.  é  ñá¡¡«¼  αáºñѽÑ
  255.  »α¿óÑñÑ¡δ ñ«»«½¡Ñ¡¿∩ ¬ K&R; ßß佬¿ ñá¡δ ¡á ß««ΓóÑΓßΓóπεΘ¿Ñ αáº-
  256.  ñÑ½δ »α¿½«ªÑ¡¿∩ "æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó« »« ∩ºδ¬π C".
  257.  
  258.  
  259.       1.1. è«¼¼Ñ¡Γáα¿¿ (K&R 2.1)
  260.  
  261.  
  262.       ä«»π߬áεΓß∩ ó½«ªÑ¡¡δÑ ¬«¼¼Ñ¡Γáα¿¿. é φΓ«¼ ß½πτáÑ »α«úαá¼¼á
  263.  ñ«½ª¡á ¬«¼»¿½¿α«óáΓ∞ß∩ ß Σ½áú«¼ -C. ä½∩ «íÑß»ÑτÑ¡¿∩ ¼«í¿½∞¡«ßΓ¿
  264.  πñ«í¡ÑÑ «Γ¼ÑτáΓ∞ ¬«ñ, ¬«Γ«αδ⌐ ñ«½ªÑ¡ íδΓ∞ ºá¬«¼¼Ñ¡Γ¿α«óá¡,  ñ¿-
  265.  αÑ¬Γ¿óἿ #if 0 ¿ #endif.
  266.  
  267.  
  268.       1.2. êñÑ¡Γ¿Σ¿¬áΓ«αδ (K&R 2.2)
  269.  
  270.  
  271.       é ¿ñÑ¡Γ¿Σ¿¬áΓ«αáσ ñ«»π߬áÑΓß∩ º¡á¬ $. Äñ¡á¬« ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  272.  ¼«ªÑΓ ¡áτ¿¡áΓ∞ß∩ Γ«½∞¬« ß íπ¬óδ ¿½¿ ß¿¼ó«½á (_). ç¡áτáΘ¿¼¿  ∩ó-
  273.  ½∩εΓß∩ »ÑαóδÑ 32 ß¿¼ó«½á ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.  ä½∩  ¿º¼Ñ¡Ñ¡¿∩  τ¿ß½á
  274.  º¡áτáΘ¿σ ß¿¼ó«½«ó ¼«ª¡« ¿ß»«½∞º«óáΓ∞ »α¿ ¬«¼»¿½∩µ¿¿ «»µ¿ε -i#.
  275.  
  276.       32 ß¿¼ó«½á ∩ó½∩εΓß∩ º¡áτáΘ¿¼¿ ¿ ñ½∩ ú½«íá½∞¡δσ ¿ñÑ¡Γ¿Σ¿¬á-
  277.  Γ«α«ó, íÑαπΘ¿σß∩ ¿º ñαπú¿σ ¼«ñπ½Ñ⌐.
  278.  
  279.  
  280.       1.3. è½ετÑóδÑ ß½«óá (K&R 2.3)
  281.  
  282.  
  283.       ì¿ªÑ »α¿óÑñÑ¡δ ¬½ετÑóδÑ ß½«óá,  ºáαѺÑαó¿α«óá¡¡δÑ  Turbo-C
  284.  (TC) ¿ αáßΦ¿αÑ¡¿∩¼¿ ANSI-ßΓá¡ñáαΓá (AN). äá¡¡δÑ ß½«óá ¡Ñ  ¼«úπΓ
  285.  íδΓ∞ ¿ß»«½∞º«óá¡δ ó  ¬áτÑßΓóÑ  ¿¼Ñ¡  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó.  è½ετÑóδÑ
  286.  ß½«óá entry ¿ fortran, π»«¼∩¡πΓδÑ ó K&R, ¡Ñ ¿ß»«½∞ºπεΓß∩ ó Tur-
  287.  bo-C.
  288.  
  289.          TC      asm             TC  _cs         TC  _DH
  290.          TC      cdecl           TC  _ds         TC  _DL
  291.          AN      const           TC  _es         TC  _DX
  292.          AN      enum            TC  _ss         TC  _BP
  293.          TC      far             TC  _AH         TC  _DI
  294.          TC      huge            TC  _AL         TC  _SI
  295.          TC      interrupt       TC  _AX         TC  _SP
  296.          TC      near            TC  _BH
  297.          TC      pascal          TC  _BL
  298.          AN      signed          TC  _CH
  299.          AN      void            TC  _CL
  300.          AN      volatile        TC  _CX
  301.  
  302.                               - 6 -
  303.  
  304.  
  305.  
  306.  
  307.       1.4. è«¡ßΓá¡Γδ (K&R 2.4)
  308.  
  309.  
  310.       Turbo-C »«ññÑনóáÑΓ óßÑ  Γ¿»δ  ¬«¡ßΓá¡Γ,  «»αÑñѽѡ¡δÑ  ó
  311.  K&R, ß ¡Ñ¬«Γ«α묨 αáßΦ¿αÑ¡¿∩¼¿.
  312.  
  313.  
  314.       1.4.1. ûѽδÑ ¬«¡ßΓá¡Γδ (K&R 2.4.1)
  315.  
  316.  
  317.       ä   ä«»π߬áεΓß∩   ñÑß∩Γ¿τ¡δÑ   ¬«¡ßΓá¡Γδ    ó    ñ¿á»áº«¡Ñ
  318.  0...4294967295. (ÄΓα¿µáΓѽ∞¡δÑ  ¬«¡ßΓá¡Γδ  αáßß¼áΓα¿óáεΓß∩  ¬á¬
  319.  íѺº¡á¬«óδÑ, ¬ ¬«Γ«αδ¼ »α¿¼Ñ¡Ñ¡ π¡áα¡δ⌐ «»ÑαáΓ«α "¼¿¡πß".
  320.  
  321.       æπΣΣ¿¬ß U (¿½¿ u), «º¡áτáÑΓ τΓ« ¬«¡ßΓá¡Γá ¿¼ÑÑΓ Γ¿» unsig-
  322.  ned. è«¡ßΓá¡Γá íπñÑΓ ¿¼ÑΓ∞ Γ¿» unsigned long, Ñß½¿ ÑÑ  º¡áτÑ¡¿Ñ
  323.  íπñÑΓ »αÑóδΦáΓ∞ 65535, ¡Ñºáó¿ß¿¼« «Γ ¿ß»«½∞ºπѼ«ú« «ß¡«óá¡¿∩.
  324.  
  325.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. î«ª¡« ¿ß»«½∞º«óáΓ∞ ¬á¬ L, Γᬠ¿ U ßπΣΣ¿¬ßδ
  326.  ñ½∩ «ñ¡«⌐ ¿ Γ«⌐ ªÑ ¬«¡ßΓá¡Γδ.
  327.  
  328.  
  329.                                                        Æáí½¿µá 1
  330.  
  331.               ûѽδÑ ¬«¡ßΓá¡Γδ Turbo-C (íѺ L ¿½¿ U)
  332.  
  333.  ------------------------------------------------------
  334.          ä¿á»áº«¡                Æ¿»
  335.  ------------------------------------------------------
  336.          ________ñÑß∩Γ¿τ¡δÑ_¬«¡ßΓá¡Γδ_________
  337.  0-32767                         int
  338.  32767-2147483647                long
  339.  2147483648-4294967295           unsigned long
  340.  >4294967295                 íπñÑΓ »ÑαÑ»«½¡Ñ¡¿Ñ
  341.                              íѺ »αÑñπ»αѪñÑ¡¿∩;
  342.                              ó αѺπ½∞ΓáΓ íπñπΓ
  343.                              ºá»¿ßá¡δ ¼½áñΦ¿Ñ í¿Γδ
  344.                              ñÑ⌐ßΓó¿Γѽ∞¡«ú« αѺπ½∞ΓáΓá
  345.          ________ó«ß∞¼Ñα¿τ¡δÑ_¬«¡ßΓá¡Γδ________
  346.  00-077777                       int
  347.  0100000-0177777                 unsigned int
  348.  01000000-017777777777           long
  349.  010000000000-0377777777777      unsigned long
  350.  >0377777777777              íπñÑΓ »ÑαÑ»«½¡Ñ¡¿Ñ
  351.       ________ΦÑßΓ¡áñµáΓÑα¿τ¡δÑ_¬«¡ßΓá¡Γδ_________
  352.  0x0000-0x7FFF                   int
  353.  0x8000-0xFFFF                   unsigned int
  354.  0x10000-0x7FFFFFFF              long
  355.  0x80000000-0xFFFFFFFF           unsigned long
  356.  >0xFFFFFFFF                 íπñÑΓ »ÑαÑ»«½¡Ñ¡¿Ñ
  357.  
  358.  
  359.  
  360.  
  361.  
  362.                               - 7 -
  363.  
  364.  
  365.  
  366.  
  367.       1.4.2. æ¿¼ó«½∞¡δÑ ¬«¡ßΓá¡Γδ (K&R 2.4.3)
  368.  
  369.  
  370.       éßÑ ¬«¡ßΓá¡Γδ  »αÑñßΓáó½∩εΓß∩  16-í¿Γ«ó«⌐  óѽ¿τ¿¡«⌐  Γ¿»á
  371.  int.
  372.  
  373.       Turbo-C »«ññÑনóáÑΓ ANSI-αáßΦ¿αÑ¡¿Ñ, ñ«»π߬áεΘÑÑ ΦÑßΓ¡áñ-
  374.  µáΓÑα¿τ¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ ¬«ñ«ó ß¿¼ó«½«ó. ìá»α¿¼Ñα,  '\x1F'  ¿½¿
  375.  '\x82'.
  376.  
  377.       èα«¼Ñ Γ«ú«, »«ññÑনóáÑΓß∩ ñαπú«Ñ ANSI-αáßΦ¿αÑ¡¿Ñ,  ñ«»πß-
  378.  ¬áεΘÑÑ ESC-»«ß½Ññ«óáΓѽ∞¡«ßΓ¿. äá¡¡δ⌐ ß»¿ß«¬ ESC-»«ß½Ññ«óáΓѽ∞-
  379.  ¡«ßΓÑ⌐ »αÑñßΓáó½∩ÑΓ ß«í«⌐  ñ«»«½¡Ñ¡¿Ñ  ß»¿ß¬á,  »α¿óÑñÑ¡¡«ú«  ó
  380.  K&R.
  381.  
  382.  
  383.                                                        Æáí½¿µá 2
  384.  
  385.                  ESC-»«ß½Ññ«óáΓѽ∞¡«ßΓ¿ Turbo-C
  386.  
  387.  ------------------------------------------------------
  388.  Å«ß½Ññ«óáΓѽ∞¡«ßΓ∞  è«ñ    æ¿¼ó«½    Åα¿¼Ñτá¡¿Ñ
  389.  ------------------------------------------------------
  390.  \a                  0x07   BEL       âπñ«¬
  391.  \v                  0x0B   VT        éÑαΓ¿¬á½∞¡á∩
  392.                                         Γáíπ½∩µ¿∩
  393.  \"                  0x22   "         äó«⌐¡á∩ ¬áóδτ¬á
  394.  \?                  0x3F   ?
  395.  \DDD                       ½εí«⌐    Γ«ªÑ, τΓ« /ddd ó K&R
  396.  \xHHH               0xHHH  ½εí«⌐    HHH=1,2 ¿½¿ 3
  397.                                     ΘÑßΓ¡áñµáΓÑα¿τ¡δÑ
  398.                                          µ¿Σαδ
  399.  
  400.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ.   Æ.¬.  Turbo-C  ñ«»π߬áÑΓ  ñóπσß¿¼ó«½∞¡δÑ
  401.  ¬«¡ßΓá¡Γδ, ¼«ªÑΓ ó«º¡¿¬¡πΓ∞ ñóπß¼δ߽ѡ¡«ßΓ∞, Ñß½¿  ó«ß∞¼Ñα¿τ¡á∩
  402.  ESC-»«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¼Ñ¡∞ΦÑ τѼ  ¿º  ΓαÑσ  µ¿Σα  »αÑñΦÑßΓóπÑΓ
  403.  µ¿ΣαÑ. é Γᬿσ ß½πτá∩σ, Turbo-C íπñÑΓ »αÑñ»«½áúáΓ∞, τΓ« ß½Ññπε-
  404.  Θ¿⌐ ß¿¼ó«½ - τáßΓ∞ ESC-»«ß½Ññ«óáΓѽ∞¡«ßΓ¿, ñáªÑ Ñß½¿ ß¿¼ó«½  ¡Ñ
  405.  ñ«»π߬áÑΓß∩ ñ½∩ ñá¡¡«ú« Γ¿»á τ¿ßѽ.  ìá»α¿¼Ñα,  ¬«¡ßΓá¡Γá  \258
  406.  íπñÑΓ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ß∩ ¬á¬ ñóπσß¿¼ó«½∞¡á∩ ¬«¡ßΓá¡Γá,  ß«ßΓ«∩-
  407.  Θá∩ ¿º ß¿¼ó«½«ó \25 ¿ 8.
  408.  
  409.  
  410.       1.4.3. è«¡ßΓá¡Γδ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ (K&R 2.4.4)
  411.  
  412.  
  413.       éßÑ ¬«¡ßΓá¡Γδ, «»αÑñѽѡ¡δÑ ¬á¬ double, »αÑñßΓáó½∩εΓ ß«í«⌐
  414.  ¬«¡ßΓá¡Γδ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.  Äñ¡á¬«,  ¬«¡ßΓá¡Γá  ß  »½áóáεΘÑ⌐
  415.  Γ«τ¬«⌐ ¼«ªÑΓ ¿¼ÑΓ∞ Γ¿» float; ¡Ñ«íσ«ñ¿¼«  ñ«íáó½∩Γ∞  ßπΣΣ¿¬ß  F
  416.  ¿½¿ f ¬ ÑÑ º¡áτÑ¡¿ε.
  417.  
  418.  
  419.  
  420.  
  421.  
  422.                               - 8 -
  423.  
  424.  
  425.  
  426.  
  427.       1.5. æΓ᫬¿ (K&R 2.5)
  428.  
  429.  
  430.       Turbo-C ñ«»π߬áÑΓ  ¼¡«ú«ßΓ᫬«óδÑ  φ½Ñ¼Ñ¡Γδ  ó  ß¿¼ó«½∞¡δσ
  431.  ¬«¡ßΓá¡Γáσ; ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá íπñÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐  «íΩÑ-
  432.  ñ¿¡Ñ¡¿Ñ φ½Ñ¼Ñ¡Γ«ó.
  433.  
  434.       ìá»α¿¼Ñα,
  435.  
  436.  main()
  437.  {
  438.       char *p;
  439.       p="äá¡¡á∩ »α«úαá¼¼á - »α¿¼Ñα Γ«ú«, ¬á¬ Turbo-C"
  440.         "íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿\n«ßπΘÑßΓó½∩Γ∞ «íΩÑñ¿¡Ñ¡¿Ñ"
  441.         "ßΓ᫬ ó «τÑ¡∞ ñ½¿¡¡πε ßΓ᫬π;\n"
  442.         "Γá¬á∩ ßΓαπ¬Γπαá ¿ß»«½∞ºπÑΓß∩ ñ½∩ í«½∞ΦÑ⌐"
  443.         "¡áú½∩ñ¡«ßΓ¿ »α«úαá¼¼δ.\n"
  444.  }
  445.  
  446.  
  447.       1.6. çáó¿ß¿¼«ßΓ∞ «Γ ¼áΦ¿¡δ (K&R 2.6)
  448.  
  449.  
  450.  
  451.                                                        Æáí½¿µá 3
  452.  
  453.             æ»¿ß«¬ αẽ¿τ¡δσ Γ¿»«ó ñá¡¡δσ ñ½∩ Turbo-C
  454.  
  455.  ------------------------------------------------------
  456.  Æ¿»             ÉẼÑα(ó í¿Γáσ)        ä¿á»áº«¡
  457.  ------------------------------------------------------
  458.  unsigned char           8               0-255
  459.  char                    8                -128-127
  460.  enum                    16               -32768-32767
  461.  unsigned short          16              0-65535
  462.  short                   16               -32768-32767
  463.  unsigned int            16              0-65535
  464.  int                     16               -32768-32767
  465.  unsigned long           32              0-4294967295
  466.  
  467.  long                    32       -2147483648-2147483647
  468.  
  469.  float                   32             3.4E-38-3.4E+38
  470.  double                  64           1.7E-308-1.7E+308
  471.  long double             64           1.7E-308-1.7E+308
  472.  
  473.  pointer                 16       (near, _cs, _ds, _ss)
  474.  pointer                 32              (far, huge)
  475.  
  476.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. Æ¿» long double ñ«»π߬áÑΓß∩, ¡« αáßß¼áΓα¿-
  477.  óáÑΓß∩ ¬á¬ double.
  478.  
  479.  
  480.  
  481.  
  482.                               - 9 -
  483.  
  484.  
  485.  
  486.  
  487.       1.7. ÅαÑ«íαẫóá¡¿∩ (K&R 6)
  488.  
  489.  
  490.  
  491.       1.7.1. Char, int ¿ enum (K&R 6.1)
  492.  
  493.  
  494.       ÅαÑ«íαẫóá¡¿Ñ ß¿¼ó«½∞¡«⌐ ¬«¡ßΓá¡Γδ ¬ µÑ½«¼π ¿¼ÑÑΓ αѺπ½∞-
  495.  ΓáΓ«¼ 16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ. ÅαÑ«íαẫóá¡¿Ñ  ß¿¼ó«½∞¡«ú«  «íΩѬΓá
  496.  (»ÑαѼѡ¡«⌐) ¬ µÑ½«τ¿ß½Ñ¡¡«¼π «íΩѬΓπ ¿¼ÑÑΓ αѺπ½∞ΓáΓ«¼ áóΓ«¼á-
  497.  Γ¿τÑ߬«Ñ º¡á¬«ó«Ñ αáΦ¿αÑ¡¿Ñ, Ñß½¿ óδ ßñѽ὿ »«  π¼«½τá¡¿ε  Γ¿»
  498.  char íѺº¡á¬«óδ¼ (¿ß»«½∞ºπ∩ »α¿ ¬«¼»¿½∩µ¿¿ «»µ¿ε  -K).  ÄíΩѬΓδ
  499.  Γ¿»á signed char óßÑúñá ¿ß»«½∞ºπεΓ º¡á¬«ó«Ñ αáßΦ¿αÑ¡¿Ñ; «íΩѬΓδ
  500.  Γ¿»á unsigned char óßÑúñá πßΓá¡áó½¿óáεΓ  ßΓáαΦ¿⌐  í¿Γ  ó  ¡π½∞,
  501.  ¬«úñá »αÑ«íαáºπεΓß∩ ó int.
  502.  
  503.       ç¡áτÑ¡¿∩ Γ¿»á enum »αÑ«íαáºπεΓß∩ ó  int  íѺ  ¼«ñ¿Σ¿¬áµ¿¿;
  504.  á¡á½«ú¿τ¡« Γ¿» int »αÑ«íαáºπÑΓß∩ ó »ÑαÑτ¿ß½¿¼δ⌐ Γ¿».
  505.  
  506.  
  507.       1.7.2. ô¬áºáΓѽ¿ (K&R 6.4)
  508.  
  509.  
  510.       ô¬áºáΓѽ¿, ¿ß»«½∞ºπѼδÑ »α«úαá¼¼«⌐, ¼«úπΓ  íδΓ∞  αẽ¿τ¡δσ
  511.  αẼÑα«ó,   ó  ºáó¿ß¿¼«ßΓ¿  «Γ  ¿ß»«½∞ºπѼ«⌐   ¼«ñѽ¿   »á¼∩Γ¿.
  512.  ìá»α¿¼Ñα, ¬«úñá óδ ¬«¼»¿½¿απÑΓÑ »α«úαá¼¼π, ¿ß»«½∞ºπ∩  ß»Ñµ¿á½∞-
  513.  ¡πε ¼«ñѽ∞ »á¼∩Γ¿, áñαÑßπѼδÑ ¼«ñ¿Σ¿¬áΓ«αδ (¿¡ñѬߡδÑ αÑú¿ßΓαδ)
  514.  (near, huge, far, _cs, _ds, _ss, _es)  ¼«úπΓ  ¡Ñ  »α¿¡¿¼áΓ∞  ó«
  515.  ó¡¿¼á¡¿Ñ αẼÑα π¬áºáΓѽ∩, ºáñá¡¡δ⌐ ñá¡¡«⌐ ¼«ñѽ∞ε »á¼∩Γ¿.
  516.  
  517.       ô¬áºáΓѽ∞ ñ«½ªÑ¡ íδΓ∞ «íΩ∩ó½Ñ¡ ¬á¬ π¬áºáΓѽ∞ ¡á  ¡Ñ¬«Γ«αδ⌐
  518.  ß»Ñµ¿á½∞¡δ⌐ Γ¿», ñáªÑ Ñß½¿ ñá¡¡δ⌐ Γ¿» - void (¬«Γ«αδ⌐ ó  ñÑ⌐ßΓ-
  519.  ó¿Γѽ∞¡«ßΓ¿  «º¡áτáÑΓ  π¬áºáΓѽ∞  ¡á  ¡¿τÑú«).  Äñ¡á¬«,  íπñπτ¿
  520.  «íΩ∩ó½Ñ¡, π¬áºáΓѽ∞ ¼«ªÑΓ π¬áºδóáΓ∞ ¡á  «íΩÑ¬Γ  ½εí«ú«  ñαπú«ú«
  521.  Γ¿»á. Turbo-C »«ºó«½∩ÑΓ »ÑαѡạáτáΓ∞ π¬áºáΓѽ¿, ¡«  ¬«¼»¿½∩Γ«α
  522.  íπñÑΓ »αÑñπ»αѪñáΓ∞, τΓ« »α«¿º«Φ½« »ÑαѡạáτÑ¡¿Ñ  π¬áºáΓѽ∩  -
  523.  Ñß½¿ π¬áºáΓѽ∞ ¡Ñ íδ½ »Ñαó«¡áτá½∞¡« «»αÑñѽѡ ¬á¬ π¬áºáΓѽ∞  ¡á
  524.  Γ¿» void. Äñ¡á¬« π¬áºáΓѽ¿ ¡á Γ¿»δ ñá¡¡δσ ¡Ñ ¼«úπΓ íδΓ∞  »αÑ«í-
  525.  αẫóá¡δ ¬ π¬áºáΓѽ∩¼ ¡á Γ¿»δ Σπ¡¬µ¿⌐, ¿ ¡á«í«α«Γ.
  526.  
  527.  
  528.       1.7.3. Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ »αÑ«íαẫóá¡¿∩ (K&R 6.6)
  529.  
  530.  
  531.         ÅαÑ«íαẫóá¡¿Ñ  «»Ñαá¡ñ«ó  ó  áα¿Σ¼ÑΓ¿τÑ߬¿σ  óδαáªÑ¡¿∩σ
  532.  óδ»«½¡∩ÑΓß∩ »« ß½ÑñπεΘ¿¼ »αáó¿½á¼:
  533.  
  534.  1)     ïεí«⌐ ¡Ñ-integer ¿ ¡Ñ-double Γ¿» »αÑ«íαáºπÑΓß∩ ¬á¬ »«¬á-
  535.         ºá¡« ó Γáí½¿µÑ, »α¿óÑñÑ¡¡«⌐ ¡¿ªÑ.
  536.  
  537.  2)     àß½¿ ¬á¬«⌐-½¿í« ¿º «»Ñαá¡ñ«ó ¿¼ÑÑΓ  Γ¿»  double,  ñαπú«⌐
  538.         «»Ñαá¡ñ Γ«ªÑ »αÑ«íαáºπÑΓß∩ ó double.
  539.  
  540.  
  541.  
  542.                              - 10 -
  543.  
  544.  
  545.  
  546.  
  547.  3)     àß½¿ ¬á¬«⌐-½¿í« ¿º «»Ñαá¡ñ«ó ¿¼ÑÑΓ  Γ¿»  unsigned  long,
  548.         ñαπú«⌐ «»Ñαá¡ñ Γ«ªÑ »αÑ«íαáºπÑΓß∩ ó unsigned long.
  549.  
  550.  4)     àß½¿ ¬á¬«⌐-½¿í« ¿º «»Ñαá¡ñ«ó ¿¼ÑÑΓ Γ¿» unsigned,  ñαπú«⌐
  551.         «»Ñαá¡ñ Γ«ªÑ »αÑ«íαáºπÑΓß∩ ó unsigned.
  552.  
  553.  
  554.                                                        Æáí½¿µá 4
  555.  
  556.               îÑΓ«ñδ áα¿Σ¼ÑΓ¿τÑ߬¿σ »αÑ«íαẫóá¡¿⌐
  557.  
  558.  ------------------------------------------------------
  559.                    ÉѺπ½∞ΓáΓ
  560.  Æ¿»           »αÑ«íαẫóá¡¿∩          îÑΓ«ñ
  561.  ------------------------------------------------------
  562.  char               int              º¡á¬«óδ⌐
  563.  unsigned char      int         ¡π½Ñó«⌐ ßΓáαΦ¿⌐ íá⌐Γ
  564.                                          (óßÑúñá)
  565.  signed char        int         º¡á¬«óδ⌐ (óßÑúñá)
  566.  short              int         Ñß½¿ íѺº¡á¬«óδ⌐,
  567.                                  Γ« íѺº¡á¬«óδ⌐ int
  568.  enum               int         ΓᠪѠóѽ¿τ¿¡á
  569.  float              double      ¼á¡Γ¿ßßá ñ«»«½¡∩ÑΓß∩ 0
  570.  
  571.  
  572.       1.8. Ä»ÑαáΓ«αδ (K&R 7.2)
  573.  
  574.  
  575.       Turbo-C »«ññÑনóáÑΓ π¡áα¡δ⌐ «»ÑαáΓ«α  +.  Äíδτ¡«  Turbo-C
  576.  «ßπΘÑßΓó½∩ÑΓ »ÑαÑúαπ»»¿α«ó¬π óδαáªÑ¡¿⌐, »ÑαÑπ»«α∩ñ«τ¿óá∩ ¬«¼¼π-
  577.  ΓáΓ¿ó¡δÑ «»ÑαáΓ«αδ (ΓᬿѠ¬á¬ * ¿ ñó«¿τ¡δ⌐ +), »δΓá∩ß∞  ß«ºñáΓ∞
  578.  óδαáªÑ¡¿∩ φΣΣÑ¬Γ¿ó¡δÑ »α¿ ¬«¼»¿½∩µ¿¿. Äñ¡á¬« Turbo-C  ¡Ñ  íπñÑΓ
  579.  »ÑαÑ«αúá¡¿º«óδóáΓ∞ óδαáªÑ¡¿∩ ß π¡áα¡δ¼ «»ÑαáΓ«α«¼  +.  æ½Ññ«óá-
  580.  Γѽ∞¡«, óδ ¼«ªÑΓÑ ¬«¡Γα«½¿α«óáΓ∞ óδτ¿ß½Ñ¡¿∩ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐,
  581.  Γ.Ñ. «Γ½áó½¿óáΓ∞  «Φ¿í¬¿  Γ«τ¡«ßΓ¿  ¿  »ÑαÑ»«½¡Ñ¡¿∩,  ¿ß»«½∞ºπ∩
  582.  π¡áα¡δ⌐ «»ÑαáΓ«α +, ¿ »α¿ φΓ«¼ ¡Ñ αáºí¿óá∩ µÑ½«Ñ  óδαáªÑ¡¿Ñ  ¡á
  583.  «Γñѽ∞¡δÑ óδαáªÑ¡¿∩. ìá»α¿¼Ñα, àß½¿ a,  b,  c  ¿  f  ¿¼ÑεΓ  Γ¿»
  584.  float, óδαáªÑ¡¿Ñ
  585.  
  586.       f=a++(b+c)
  587.  
  588.  íπñÑΓ óδτ¿ß½∩Γ∞ß∩ ß½ÑñπεΘ¿¼ «íαẫ¼: αѺπ½∞ΓáΓ (b+c) íπñÑΓ »α¿-
  589.  íáó½Ñ¡ ¬ a.
  590.  
  591.  
  592.       1.9. æ»Ñµ¿Σ¿¬áµ¿¿ Γ¿»«ó (K&R 8.2)
  593.  
  594.  
  595.       Turbo-C »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ «ß¡«ó¡δÑ Γ¿»δ, ¡Ñ π¬áºá¡¡δÑ
  596.  ó K&R.
  597.  
  598.       - unsigned char
  599.  
  600.       - unsigned short
  601.  
  602.                              - 11 -
  603.  
  604.  
  605.  
  606.  
  607.       - unsigned long
  608.  
  609.       - long double
  610.  
  611.       - enumeration
  612.  
  613.       - viod
  614.  
  615.       Æ¿» long double φ¬ó¿óá½Ñ¡ΓÑ¡ Γ¿»π double.
  616.  
  617.  
  618.       1.9.1. Æ¿» enum
  619.  
  620.  
  621.       Turbo-C »«ññÑনóáÑΓ óßÑ »ÑαÑτ¿ß½¿¼δÑ Γ¿»δ ANSI-ßΓá¡ñáαΓá.
  622.  ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿» ñá¡¡δσ ¿ß»«½∞ºπÑΓß∩  ñ½∩  «»¿ßá¡¿∩  ñ¿ß¬αÑΓ¡«⌐
  623.  »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ µÑ½δσ º¡áτÑ¡¿⌐. ìá»α¿¼Ñα,
  624.  
  625.       enum days { sun, mon, tues, wed, thur, fri, sat};
  626.  
  627.       ê¼Ñ¡á, ºá¡ÑßÑ¡¡δÑ ó days, »αÑñßΓáó½∩εΓ ß«í«⌐  µÑ½δÑ  ¬«¡ß-
  628.  Γá¡Γδ, »Ñαóá∩ (sun) áóΓ«¼áΓ¿τÑ߬¿ πßΓá¡«ó½Ñ¡á ó ¡π½∞  ¿  ¬áªñá∩
  629.  ß½ÑñπεΘá∩ ¿¼ÑÑΓ º¡áτÑ¡¿Ñ  ¡á  Ññ¿¡¿µπ  í«½∞ΦÑ,  τѼ  »αÑñδñπΘá∩
  630.  (mon=1, tues=2 ¿ Γ.ñ.). î«ª¡« »α¿ßó«¿Γ∞ ¬«¡ßΓá¡Γá¼ «»αÑñѽѡ¡δÑ
  631.  º¡áτÑ¡¿∩; ¿¼Ñ¡á, ¡Ñ ¿¼ÑεΘ¿Ñ «»αÑñѽѡ¡δσ º¡áτÑ¡¿⌐, íπñπΓ, ¬á¬ ¿
  632.  αá¡∞ΦÑ, ¿¼ÑΓ∞ º¡áτÑ¡¿∩ »αÑñδñπΘ¿σ ¬«ßΓá¡Γ, πóѽ¿τÑ¡¡δÑ ¡á  Ññ¿-
  633.  ¡¿µπ. ìá»α¿¼Ñα,
  634.  
  635.       enum coins {penny=1, nickle=5, dime=10, quarter=25};
  636.  
  637.       ÅÑαѼѡ¡«⌐ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á ¼«ªÑΓ íδΓ∞ »α¿ßó«Ñ¡«  º¡áτÑ-
  638.  ¡¿Ñ ½εí«ú« Γ¿»á int - »α«óÑα¬á Γ¿»á ¡Ñ »α«¿ºó«ñ¿Γß∩.
  639.  
  640.  
  641.       1.9.2. Æ¿» void
  642.  
  643.  
  644.       Turbo-C »«ññÑনóáÑΓ Γ¿» void, «»αÑñѽѡ¡δ⌐  ó  ANSI-ßΓá¡-
  645.  ñáαΓÑ. äá¡¡δ⌐ Γ¿» ¿ß»«½∞ºπÑΓß∩ ñ½∩ ∩ó¡«ú« «»¿ßá¡¿∩ Σπ¡¬µ¿⌐,  ¡Ñ
  646.  ó«ºóαáΘáεΘ¿σ º¡áτÑ¡¿⌐. Ç¡á½«ú¿τ¡«, »πßΓ«⌐ ß»¿ß«¬ »áαá¼ÑΓα«ó ¼«-
  647.  ªÑΓ íδΓ∞ «íΩ∩ó½Ñ¡ ß½«ó«¼ void. ìá»α¿¼Ñα,
  648.  
  649.  void putmsg(void)
  650.  {
  651.          printf("Hello, world\n");
  652.  }
  653.  
  654.  main()
  655.  {
  656.          putmsg();
  657.  }
  658.  
  659.       î«ª¡« »αÑ«íαẫóδóáΓ∞ óδαáªÑ¡¿Ñ  ¬  Γ¿»π  void,  ñ½∩  Γ«ú«
  660.  τΓ«íδ ∩ó¡« π¬áºáΓ∞, τΓ« º¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐,  ¿ú¡«-
  661.  
  662.                              - 12 -
  663.  
  664.  
  665.  
  666.  
  667.  α¿απÑΓß∩. ìá»α¿¼Ñα, Ñß½¿  óδ  σ«Γ¿ΓÑ  »α¿«ßΓá¡«ó¿Γ∞  óδ»«½¡Ñ¡¿Ñ
  668.  »α«úαá¼¼δ ñ« ΓÑσ »«α »«¬á  »«½∞º«óáΓѽ∞  ¡Ñ  ¡áª¼ÑΓ  ¬á¬πε-½¿í«
  669.  ¬½áó¿Φπ, óδ ¼«ªÑΓÑ ¡á»¿ßáΓ∞:
  670.  
  671.          (void) getch();
  672.  
  673.       èα«¼Ñ Γ«ú«, ¼«ª¡« «íΩ∩ó¿Γ∞ π¬áºáΓѽ∞ ¡á «íΩÑ¬Γ Γ¿»á  void.
  674.  äá¡¡δ⌐ π¬áºáΓѽ∞ ¡Ñ íπñÑΓ π¬áºáΓѽѼ ¡á ¡¿τÑú«; ß«ºñáßΓß∩  π¬á-
  675.  ºáΓѽ∞ ¡á ¬á¬«⌐-Γ« «íΩÑ¬Γ ñá¡¡δσ, Γ¿» ¬«Γ«α«ú« ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ß-
  676.  Γ¿ «»αÑñѽ∩Γ∞. éδ ¼«ªÑΓÑ »α¿ßóá¿óáΓ∞ ½εí«⌐ π¬áºáΓѽ∞  π¬áºáΓѽε
  677.  Γ¿»á void, ¿ «íαáΓ¡«. Äñ¡á¬« óδ ¡Ñ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ «»ÑαáΓ«α
  678.  ¬«ßóÑ¡¡«⌐ áñαÑßᵿ¿ (*), Γ.¬. ¿ß»«½∞ºπѼδ⌐ Γ¿» ¡Ñ«»αÑñѽѡ.
  679.  
  680.  
  681.       1.9.3. ç¡á¬«óδ⌐ ¼«ñ¿Σ¿¬áΓ«α
  682.  
  683.  
  684.       èα«¼Ñ π¬áºá¡¡δσ ó K&R ΓαÑσ  Γ¿»«ó  ¼«ñ¿Σ¿¬áΓ«α«ó  -  long,
  685.  short ¿ unsigned - Turbo-C »«ññÑনóáÑΓ ÑΘÑ Γα¿: signed,  const
  686.  ¿ vilatile (ANSI-ßΓá¡ñáαΓ).
  687.  
  688.       î«ñ¿Σ¿¬áΓ«α signed ∩ó¡« π¬áºδóáÑΓ, τΓ« óѽ¿τ¿¡á ß« º¡á¬«¼.
  689.  äá¡¡δ⌐ ¼«ñ¿Σ¿¬áΓ«α ¿ß»«½∞ºπÑΓß∩ »αÑ¿¼πΘÑßΓóÑ¡¡« ñ½∩  ñ«¬π¼Ñ¡Γ¿-
  690.  α«óá¡¡«ßΓ¿ ¿ ºáóÑαΦÑ¡¡«ßΓ¿ »α«úαá¼¼. Äñ¡á¬«, Ñß½¿  óδ  ¬«¼»¿½¿-
  691.  απÑΓÑ »α«úαá¼¼π, ¿ß»«½∞ºπ∩ »« π¼«½τá¡¿ε  íѺº¡á¬«óδ⌐  Γ¿»  char
  692.  (ó¼ÑßΓ« º¡á¬«ó«ú«), ¡Ñ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ ¼«ñ¿Σ¿¬áΓ«α signed,
  693.  ñ½∩ Γ«ú« τΓ«íδ «»αÑñѽ¿Γ∞ »ÑαѼѡ¡πε ¿½¿  Σπ¡¬µ¿ε  Γ¿»á  signed
  694.  char. î«ñ¿Σ¿¬áΓ«α signed, ¿ß»«½∞º«óá¡¡δ⌐ ßá¼ »« ßÑíÑ,  «º¡áτáÑΓ
  695.  signed int, ΓᬪѠ¬á¬ unsigned «º¡áτáÑΓ unsigned int.
  696.  
  697.  
  698.       1.9.4. î«ñ¿Σ¿¬áΓ«α const
  699.  
  700.  
  701.       î«ñ¿Σ¿¬áΓ«α const, ¬á¬ «»αÑñѽѡ« ó ANSI-ßΓá¡ñáαΓÑ, ¡Ñ ñ«-
  702.  »π߬áÑΓ ¬á¬¿σ íδ Γ« ¡¿ í佫 »ÑαÑ«»αÑñѽѡ¿⌐ º¡áτÑ¡¿∩  ¬«¡ßΓá¡Γδ
  703.  ¿½¿ ñαπú¿σ ¬«ßóÑ¡¡δσ ñÑ⌐ßΓó¿⌐, Γᬿσ ¬á¬ π¼Ñ¡∞ΦÑ¡¿Ñ ¿½¿  πóѽ¿-
  704.  τÑ¡¿Ñ. ô¬áºáΓѽ∞ ¡á Γ¿» const ¡Ñ ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡, ó  «Γ½¿τ¿¿
  705.  «Γ ßἫú« «íΩѬΓá, ¬«Γ«αδ⌐ «¡ «»αÑñѽ∩ÑΓ.
  706.  
  707.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. î«ñ¿Σ¿¬áΓ«α const, ¿ß»«½∞ºπѼδ⌐ ßá¼ »« ßÑ-
  708.  íÑ, φ¬ó¿óá½Ñ¡ΓÑ¡ const int. Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿⌐ »α¿¼Ñαδ:
  709.  
  710.          const float pi          =3.1415926;
  711.          const       maxint      =32767;
  712.          const *char str         ="Hello, world";
  713.  
  714.       Åα¿óÑñÑ¡¡δÑ ¡¿ªÑ πΓóÑαªñÑ¡¿∩ ¡Ññ«»πßΓ¿¼δ:
  715.  
  716.          pi  = 3.0;              /* Åα¿ßó«Ñ¡¿Ñ º¡áτÑ¡¿∩
  717.                                          ¬«¡ßΓá¡ΓÑ */
  718.          i   = maxint--;         /* ô¼Ñ¡∞ΦÑ¡¿Ñ ¬«¡ßΓá¡Γδ */
  719.          str = "Hi, there!";     /* ÅÑαѡạáτÑ¡¿Ñ π¬áºáΓѽ∩ */
  720.  
  721.  
  722.                              - 13 -
  723.  
  724.  
  725.  
  726.  
  727.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. Äñ¡á¬«, ó맮ó Σπ¡¬µ¿¿ strcpy(str,"Hi, the-
  728.  re!") ñ«»πßΓ¿¼, Γ.¬. ó ñá¡¡«¼ ß½πτáÑ «ßπΘÑßΓó½∩ÑΓß∩  »«ß¿¼ó«½∞-
  729.  ¡«Ñ ¬«»¿α«óá¡¿Ñ ßΓ᫬¿ "Hi, there!" ó  ∩τÑ⌐¬¿  »á¼∩Γ¿,  «»αÑñÑ-
  730.  ½∩ѼδÑ str.
  731.  
  732.  
  733.       1.9.5. î«ñ¿Σ¿¬áΓ«α volatile
  734.  
  735.  
  736.       î«ñ¿Σ¿¬áΓ«α  volatile  -  »«τΓ¿  »«½¡á∩  »α«Γ¿ó«»«½«ª¡«ßΓ∞
  737.  const. Ä¡ π¬áºδóáÑΓ, τΓ« «íΩÑ¬Γ ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡; ¡« ¡Ñ Γ«½∞-
  738.  ¬« ¡Ñ»«ßαÑñßΓóÑ¡¡« óáΦÑ⌐ »α«úαá¼¼«⌐, ¡« ¿  ΓᬪѠ ó¡ÑΦ¡¿¼  ó«º-
  739.  ñÑ⌐ßΓó¿Ñ¼,    Γᬿ¼   ¬á¬   »α«úαἼᠠ »αÑαδóá¡¿⌐   ¿½¿   »«αΓ
  740.  óó«ñá/óδó«ñá. ÄíΩ∩ó½Ñ¡¿Ñ  «íΩѬΓá  ¬á¬  volatile  »αÑñπ»αѪñáÑΓ
  741.  ¬«¼»¿½∩Γ«α, τΓ« ¡Ñ ¡πª¡« ñѽáΓ∞ »αÑñ»«½«ªÑ¡¿⌐ «Γ¡«ß¿Γѽ∞¡« º¡á-
  742.  τÑ¡¿∩ «íΩѬΓá, ó Γ« óαѼ∩ ¬á¬ «µÑ¡¿óáεΓß∩ óδαáªÑ¡¿∩, Ñú« ß«ñÑα-
  743.  ªáΘ¿Ñ, Γ.¬. º¡áτÑ¡¿Ñ ¼«ªÑΓ (ΓÑ«αÑΓ¿τÑ߬¿)  ¿º¼Ñ¡¿Γ∞ß∩  ó  ½εí«⌐
  744.  ¼«¼Ñ¡Γ. èα«¼Ñ Γ«ú«, ¿ß»«½∞º«óá¡¿Ñ ñá¡¡«ú« ¼«ñ¿Σ¿¬áΓ«αá ¡Ñ  »«º-
  745.  ó«½∩ÑΓ ¬«¼»¿½∩Γ«απ ¿ß»«½∞º«óáΓ∞ ó¼ÑßΓ«  »ÑαѼѡ¡δσ  αÑú¿ßΓα«óδÑ
  746.  »ÑαѼѡ¡δÑ.
  747.  
  748.       Åα¿¼Ñαδ:
  749.  
  750.          volatile int ticks;
  751.          interrupt timer();
  752.          {
  753.                  ticks++;
  754.          }
  755.  
  756.          wait (int interval)
  757.          {
  758.                  ticks=0;
  759.                  while(ticks<interval);
  760.          }
  761.  
  762.       ¥Γ¿ »α«úαá¼¼δ íπñπΓ "ªñáΓ∞" ó ΓÑτÑ¡¿Ñ óαѼѡ¿,  π¬áºá¡¡«ú«
  763.  ó áαúπ¼Ñ¡ΓÑ interval. çá¼ÑΓ¿¼, τΓ« ¬«¼»¿½∩Γ«α ß óδß«¬¿¼ πα«ó¡Ñ¼
  764.  «»Γ¿¼¿ºáµ¿¿ ¼«ªÑΓ ¡Ñ ºáúαπº¿Γ∞ º¡áτÑ¡¿Ñ ticks ó¡πΓα¿ µ¿¬½á whi-
  765.  le, Γ.¬. µ¿¬½ ¡Ñ ¿º¼Ñ¡∩ÑΓ º¡áτÑ¡¿∩ ticks.
  766.  
  767.  
  768.       1.9.6. î«ñ¿Σ¿¬áΓ«αδ cdecl ¿ pascal
  769.  
  770.  
  771.       Turbo-C »«ºó«½∩ÑΓ «íαáΘáΓ∞ß∩ ¿º óáΦÑ⌐ »α«úαá¼¼δ ¬ »α«úαá¼-
  772.  ¼á¼, ¡á»¿ßá¡¡δ¼ ¡á ñαπú¿σ ∩ºδ¬áσ, ¿  ¡á«í«α«Γ.  Åα¿  ß¼ÑΦ¿óá¡¿¿
  773.  ∩ºδ¬«ó óδ ñ«½ª¡δ ¿¼ÑΓ∞ ñѽ« ß ñóπ¼∩ óáª¡δ¼¿ «íΩÑ¬Γ¿¼¿:  ¿ñÑ¡Γ¿-
  774.  Σ¿¬áΓ«αἿ ¿ »ÑαÑñáóáÑ¼δ¼¿ »áαá¼ÑΓαἿ.
  775.  
  776.       è«úñá óδ ¬«¼»¿½¿απÑΓÑ »α«úαá¼¼π ó Turbo-C, óßÑ  ú½«íá½∞¡δÑ
  777.  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »α«úαá¼¼δ, Γ.Ñ. ¿¼Ñ¡á Σπ¡¬µ¿⌐ ¿ ú½«íá½∞¡δÑ »ÑαÑ-
  778.  ¼Ñ¡¡δÑ, ß«σαá¡∩εΓß∩ ó «íΩÑ¬Γ¡«¼ ¬«ñÑ, »«½πτÑ¡¡«¼  ó  αѺπ½∞ΓáΓÑ
  779.  ¬«¼»¿½∩µ¿¿, ñ½∩ αáí«Γδ αÑñá¬Γ«αá ßó∩ºÑ⌐. Å« π¼«½τá¡¿ε φΓ¿ ¿ñÑ¡-
  780.  Γ¿Σ¿¬áΓ«αδ ß«σαá¡∩εß∩ ó ßó«Ñ¼  »Ñαó«¡áτá½∞¡«¼  ó¿ñÑ  (Γ.Ñ  ¡áí-
  781.  
  782.                              - 14 -
  783.  
  784.  
  785.  
  786.  
  787.  αá¡¡δ¼¿ ºáú½áó¡δ¼¿, ßΓα«τ¡δ¼¿ ¿½¿ ΓѼ¿ ¿ ñαπú¿¼¿ íπ¬óἿ). èα«-
  788.  ¼Ñ Γ«ú«, ß¿¼ó«½ (_) »αÑñΦÑßΓóπÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«απ, Ñß½¿ óδ ¡Ñ ¿ß-
  789.  »«½∞º«ó὿ «»µ¿ε -u- »α¿ ¬«¼»¿½∩µ¿¿.
  790.  
  791.       Ç¡á½«ú¿τ¡«,  óßÑ  ó¡ÑΦ¡¿Ñ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,  «íΩ∩ó½Ñ¡¡δÑ  ó
  792.  »α«úαá¼¼Ñ, «ßΓáεΓß∩ ó Γ«¼ ªÑ ßἫ¼ Σ«α¼áΓÑ. ÉÑñá¬Γ«α ßó∩ºÑ⌐ (»«
  793.  π¼«½τá¡¿ε) αẽ¿τáÑΓ αÑú¿ßΓαδ ¬½áó¿áΓπαδ,  »«φΓ«¼π  ¿ñÑ¡Γ¿Σ¿¬á-
  794.  Γ«αδ, ¿ß»«½∞ºπѼδÑ ó  αẽ¿τ¡δσ  »α«úαá¼¼áσ,  ñ«½ª¡δ  »«½¡«ßΓ∞ε
  795.  ß«ó»áñáΓ∞ ¬á¬ ß Γ«τ¬¿ ºαÑ¡¿∩ «αΣ«úαáΣ¿¿ Γᬠ¿ αÑú¿ßΓα«ó ¬½áó¿á-
  796.  Γπαδ.
  797.  
  798.  
  799.       1.9.6.1. pascal
  800.  
  801.  
  802.        é  «»αÑñѽѡ¡δσ  ß¿Γπᵿ∩σ,  ¡á»α¿¼Ñα  »α¿  ¿ß»«½∞º«óá¡¿¿
  803.  ¬«ñ«ó, ºá»¿ßá¡¡δσ ¡á ñαπú¿σ ∩ºδ¬áσ, «»¿ßá¡¡δ⌐ óδΦÑ ¼ÑΓ«ñ ß«σαá-
  804.  ¡Ñ¡¿∩   ¿¼Ñ¡,  »α¿¼Ñ¡∩Ѽδ⌐  »«  π¼«½τá¡¿ε,  ¼«ªÑΓ  óδºóáΓ∞  α∩ñ
  805.  »α«í½Ñ¼. Turbo-C »«ºó«½∩ÑΓ ¿ºíѪáΓ∞ ñá¡¡δσ »α«í½Ñ¼. î«ª¡« «íΩ∩-
  806.  ó¿Γ∞ ½εí«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á pascal. ¥Γ« «º-
  807.  ¡áτáÑΓ, τΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α »αÑ«íαáºπÑΓß∩ ¬ óÑασ¡Ñ¼π  αÑú¿ßΓαπ  ¿
  808.  ¡Ñ ñ«íáó½∩ÑΓß∩ ß¿¼ó«½ »«ñτÑનóá¡¿∩. (àß½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α  Σπ¡¬-
  809.  µ¿∩,    ñá¡¡«Ñ   »αá󿽫   αáß»α«ßΓαá¡∩ÑΓß∩   ¡á   »ÑαÑñáóáѼδÑ
  810.  »áαá¼ÑΓαδ.)
  811.  
  812.  
  813.       1.9.6.2. cdecl
  814.  
  815.  
  816.       éßÑ ú½«íá½∞¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ ¼«ª¡«  ßñÑ-
  817.  ½áΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ Γ¿»á pascal, ¿ß»«½∞ºπ∩ «»µ¿ε -p »α¿  ¬«¼-
  818.  »¿½∩µ¿¿. Äñ¡á¬«, óδ ¼«ªÑΓÑ π¬áºáΓ∞, τΓ« «»αÑñѽѡ¡δÑ  ¿ñÑ¡Γ¿Σ¿-
  819.  ¬áΓ«αδ - ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¡Ñ Åá߬á½Ñó߬«ú« Γ¿»á. éδ ¼«ªÑΓÑ  «íΩ∩-
  820.  ó¿Γ∞ ¿σ ¬á¬ cdecl, (ñá¡¡«Ñ »αá󿽫 αáß»α«ßΓαá¡∩ÑΓß∩ ¿ ¡á  »ÑαÑ-
  821.  ñáóáѼδÑ ó Σπ¡¬µ¿ε »áαá¼ÑΓαδ).
  822.  
  823.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. éßÑ  Σπ¡¬µ¿¿  ó  ß¿ßΓѼ¡δσ  include-Σá⌐½áσ
  824.  (¡á»α¿¼Ñα, stdio.h) ¿¼ÑεΓ Γ¿» cdecl. ¥Γ«  »«ºó«½∩ÑΓ  »«ñ¬½ετáΓ∞
  825.  ß¿ßΓѼ¡δÑ í¿í½¿«ΓѬ¿, Ñß½¿ óδ ¿ß»«½∞ºπÑΓÑ «»µ¿ε -p »α¿ ¬«¼»¿½∩-
  826.  µ¿¿.
  827.  
  828.  
  829.       1.9.7. î«ñ¿Σ¿¬áΓ«αδ near, far ¿ huge
  830.  
  831.  
  832.       äá¡¡δÑ ¼«ñ¿Σ¿¬áΓ«αδ  ó«ºñÑ⌐ßΓóπεΓ  ¡á  ¬«ßóÑ¡¡δÑ  «»ÑαáΓ«α
  833.  (*), á ¿¼Ñ¡¡«, ¼«ñ¿Σ¿µ¿απεΓ π¬áºáΓѽ¿ ¡á ñá¡¡δÑ.
  834.  
  835.       Turbo-C »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞  αẽ¿τ¡δÑ  ¼«ñѽ¿  »á¼∩Γ¿.
  836.  î«ñѽ∞, ¬«Γ«απε óδ ¿ß»«½∞ºπÑΓÑ, «»αÑñѽ∩ÑΓ ó¡ÑΦ¡¿⌐ Σ«α¼áΓ  π¬á-
  837.  ºáΓѽÑ⌐ ¡á ñá¡¡δÑ. àß½¿ óδ ¿ß»«½∞ºπÑΓÑ  "¼á½πε"  ¼«ñѽ∞  ñá¡¡δσ
  838.  (tiny, small, medium), óßÑ π¬áºáΓѽ¿ ¿¼ÑεΓ ñ½¿¡π Γ«½∞¬« 16  í¿Γ
  839.  ¿ ºáñáεΓ ß¼ÑΘÑ¡¿Ñ «Γ¡«ß¿Γѽ∞¡« αÑú¿ßΓαá ßÑú¼Ñ¡Γá  ñá¡¡δσ  (DS).
  840.  àß½¿ ¿ß»«½∞ºπÑΓß∩  "í«½∞Φá∩"  ¼«ñѽ∞  »á¼∩Γ¿  (compact,  large,
  841.  
  842.                              - 15 -
  843.  
  844.  
  845.  
  846.  
  847.  huge), óßÑ π¬áºáΓѽ¿ ¡á ñá¡¡δÑ ¿¼ÑεΓ ñ½¿¡π 32 í¿Γá ¿ ºáñáεΓ ¬á¬
  848.  áñαÑß ßÑú¼Ñ¡Γá, Γᬠ¿ ß¼ÑΘÑ¡¿Ñ.
  849.  
  850.       é ¡Ñ¬«Γ«αδσ ß½πτá∩σ, ¬«úñá ¿ß»«½∞ºπÑΓß∩ «ñ¿¡ αẼÑα ¼«ñѽ¿
  851.  ñá¡¡δσ, ¼«ª¡« «íΩ∩ó¿Γ∞ π¬áºáΓѽ∞ ß αẼÑα«¼ ¿½¿  Σ«α¼áΓ«¼,  «Γ-
  852.  ½¿τ¡δ¼ «Γ ¿ß»«½∞ºπѼ«ú« »« π¼«½τá¡¿ε. ¥Γ«  ñѽáÑΓß∩  ß  »«¼«Θ∞ε
  853.  ¼«ñ¿Σ¿¬áΓ«α«ó near, far ¿ huge.
  854.  
  855.       ô¬áºáΓѽ∞ Γ¿»á near  - 16-í¿Γ¡δ⌐; «¡ ¿ß»«½∞ºπÑΓ ΓѬπΘÑÑ ß«-
  856.  ñÑন¼«Ñ αÑú¿ßΓαá ßÑú¼Ñ¡Γá ñá¡¡δσ (DS) ñ½∩  «»αÑñѽѡ¿∩  áñαÑßá
  857.  ßÑú¼Ñ¡Γá. Å« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¼á½δσ  ¼«ñѽÑ⌐  ñá¡¡δσ.
  858.  Åα¿ ¿ß»«½∞º«óá¡¿¿ π¬áºáΓѽÑ⌐ Γ¿»á near, ñá¡¡δÑ óáΦÑ⌐  »α«úαá¼¼δ
  859.  «úαá¡¿τÑ¡δ αẼÑα«¼ ΓѬπΘÑú« ßÑú¼Ñ¡Γá ñá¡¡δσ 64è.
  860.  
  861.       ô¬áºáΓѽ∞ Γ¿»á far  - 32-í¿Γ¡δ⌐; ß«ñÑαª¿Γ ¬á¬ áñαÑß, Γᬠ ¿
  862.  ß¼ÑΘÑ¡¿Ñ. Å« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ ñ½∩  í«½∞Φ¿σ  ¼«ñѽÑ⌐.  Åα¿
  863.  ¿ß»«½∞º«óá¡¿¿ π¬áºáΓѽÑ⌐ Γ¿»á far ñ«»π߬áεΓß∩ ßß佬¿ ¡á  ñá¡¡δÑ
  864.  ó   »αÑñѽáσ  1-îí  áñαÑß¡«ú«  »α«ßΓαá¡ßΓóá  »α«µÑßß«α«ó  Intel
  865.  8088/8086.
  866.  
  867.       ô¬áºáΓѽ∞ Γ¿»á huge  - 32-í¿Γ¡δ⌐;  á¡á½«ú¿τ¡«  »αÑñδñπΘѼπ,
  868.  ß«ñÑαª¿Γ áñαÑß ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿Ñ, «ñ¡á¬«, ó «Γ½¿τ¿¿ «Γ π¬áºá-
  869.  ΓѽÑ⌐ Γ¿»á far, π¬áºáΓѽ∞ huge óßÑúñá »«ññÑনóáÑΓß∩ ¡«α¼á½¿º«-
  870.  óá¡¡δ¼:
  871.  
  872.       - Ä»ÑαáΓ«αδ «Γ¡«ΦÑ¡¿∩ (==, !=, <, >, <=, >=) αáí«ΓáεΓ »αá-
  873.         ó¿½∞¡« ß π¬áºáΓѽ∩¼¿ Γ¿»á huge; ¡« ¡Ñ ß π¬áºáΓѽ∩¼¿ Γ¿»á
  874.         far.
  875.  
  876.       - éßÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿  ¡áñ  π¬áºáΓѽѼ  huge  ó«º-
  877.         ñÑ⌐ßΓóπεΓ ¬á¬ ¡á áñαÑß ßÑú¼Ñ¡Γá, Γᬠ¿ ¡á ß¼ÑΘÑ¡¿Ñ  (¿º-
  878.         ºá ¡«α¼á½¿ºáµ¿¿); »α¿  ¿ß»«½∞º«óá¡¿¿  far  π¬áºáΓѽÑ⌐  -
  879.         ó«ºñÑ⌐ßΓó¿Ñ Γ«½∞¬« ¡á ß¼ÑΘÑ¡¿Ñ.
  880.  
  881.       - çáñá¡¡δ⌐ π¬áºáΓѽ∞ Γ¿»á huge ¼«ªÑΓ íδΓ∞ πóѽ¿τÑ¡ ó  »αÑ-
  882.         ñѽáσ 1îí áñαÑß¡«ú« »α«ßΓαá¡ßΓóá; π¬áºáΓѽ¿ Γ¿»á far íπ-
  883.         ñπΓ »α¿ «»αÑñѽѡ¡δσ «íßΓ«∩Γѽ∞ßΓóáσ µ¿¬½¿τÑ߬¿  »ÑαÑσ«-
  884.         ñ¿Γ∞ ¡á ¡áτὫ 64è ßÑú¼Ñ¡Γá.
  885.  
  886.       - Åα¿ ¿ß»«½∞º«óá¡¿¿ π¬áºáΓѽÑ⌐ Γ¿»á huge ΓαÑíπÑΓß∩  ñ«»«½-
  887.         ¡¿Γѽ∞¡«Ñ  óαѼ∩,  Γ.¬.  »α«úαá¼¼δ  ¡«α¼á½¿ºáµ¿¿  ñ«½ª¡δ
  888.         óδºδóáΓ∞ß∩ »«ß½Ñ óδ»«½¡Ñ¡¿∩ ½εí«⌐ áα¿Σ¼ÑΓ¿τÑ߬«⌐  «»Ñαá-
  889.         µ¿¿ ¡áñ π¬áºáΓѽ∩¼¿.
  890.  
  891.  
  892.       1.10. æΓαπ¬Γπαδ ¿ «íΩÑñ¿¡Ñ¡¿∩ (K&R 8.5)
  893.  
  894.  
  895.       Turbo-C «íÑß»Ñτ¿óáÑΓ ß½ÑñπεΘ¿Ñ ñ«»«½¡¿Γѽ∞¡δѠ󫺼«ª¡«ßΓ¿.
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.                              - 16 -
  903.  
  904.  
  905.  
  906.  
  907.       1.10.1. éδαáó¡¿óá¡¿Ñ ß½«ó
  908.  
  909.  
  910.       àß½¿ »α¿ ¬«¼»¿½∩µ¿¿ ¿ß»«½∞ºπÑΓß∩ «»µ¿∩ -a,  Turbo-C  íπñÑΓ
  911.  ºá»«½¡∩Γ∞ íá⌐ΓἿ ßΓαπ¬Γπαπ (¿½¿  «íΩÑñ¿¡Ñ¡¿Ñ)  Γᬿ¼  «íαẫ¼,
  912.  ¬á¬ ΓαÑíπÑΓß∩ ñ½∩ óδαáó¡¿óá¡¿∩ ß½«ó. ÄíÑß»Ñτ¿óáÑΓß∩ ß½ÑñπεΘÑÑ:
  913.  
  914.       - æΓαπ¬Γπαá  íπñÑΓ  ¡áτ¿¡áΓ∞ß∩  ß  úαá¡¿µδ  ß½«óá  (τÑΓ¡δ⌐
  915.         áñαÑß).
  916.  
  917.       - ïεí«⌐ τ½Ñ¡, ¿¼ÑεΘ¿⌐ ¡Ñ-char Γ¿», íπñÑΓ ¿¼ÑΓ∞ τÑΓ¡«Ñ ß¼Ñ-
  918.         ΘÑ¡¿Ñ «Γ ¡áτá½á ßΓαπ¬Γπαδ.
  919.  
  920.       - é ¬«¡Ñµ íπñÑΓ ñ«íáó½Ñ¡ íá⌐Γ (Ñß½¿ ¡Ñ«íσ«ñ¿¼«),  ñ½∩  úá-
  921.         αá¡Γ¿¿ Γ«ú«, τΓ« ßΓαπ¬Γπαá ß«ñÑαª¿Γ τÑΓ¡«Ñ τ¿ß½« íá⌐Γ.
  922.  
  923.  
  924.       1.10.2. ü¿Γ«óδÑ »«½∩
  925.  
  926.  
  927.       ü¿Γ«ó«Ñ »«½Ñ ¼«ªÑΓ ¿¼ÑΓ∞ Γ¿» ½¿í«  signed,  ½¿í«  unsigned
  928.  int ¿ ¼«ªÑΓ ºá¡¿¼áΓ∞ «Γ 1 ñ« 16 í¿Γ«ó. ü¿Γ«óδÑ »«½∩ αẼÑΘáεΓß∩
  929.  ó ¡á»αáó½Ñ¡¿¿ «Γ ¼½áñΦ¿σ ¬ ßΓáαΦ¿¼  í¿Γá¼  ó  ß½«óÑ.  ìá»α¿¼Ñα,
  930.  ßΓαπ¬Γπαá
  931.  
  932.          struct mystruct {
  933.                  int             i : 2;
  934.                  unsigned        j : 5;
  935.                  int               : 4;
  936.                  int             k : 1;
  937.                  unsigned        n : 4;
  938.          } a, b, c;
  939.  
  940.  «íÑß»Ñτ¿óáÑΓ ß½ÑñπεΘÑÑ αẼÑΘÑ¡¿Ñ:
  941.  
  942.   __________________________________________________
  943.   |15|14|13|12|11 |10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
  944.   |--|--|--|--|---|--|--|--|--|--|--|--|--|--|--|--|
  945.   | x| x| x| x| x | x| x| x| x| x| x| x| x| x| x| x|
  946.   |-----------|---|-----------|--------------|-----|
  947.   |<--------->|<->|<- - - - ->|<------------>|<--->|
  948.   |-----------|---|-----------|--------------|-----|
  949.   |     m     | k |¡Ñ ¿ß»«½∞º.|       j      |  i  |
  950.   |___________|___|___________|______________|_____|
  951.  
  952.       Å«½∩ µÑ½«ú« Γ¿»á σαá¡∩Γß∩ ó «ñ¡«⌐ ¿º  ñóπσ  Σ«α¼;  ¬αá⌐¡¿⌐
  953.  ½Ñóδ⌐ í¿Γ - º¡á¬«óδ⌐ í¿Γ. ìá»α¿¼Ñα, í¿Γ«ó«Ñ  »«½Ñ  Γ¿»á  signed
  954.  int Φ¿α¿¡«⌐ 1 í¿Γ ¼«ªÑΓ Γ«½∞¬« σαá¡¿Γ∞ º¡áτÑ¡¿Ñ -1  ¿  0,  Γ.¬.
  955.  ½εí«Ñ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ íπñÑΓ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ß∩ ¬á¬ -1.
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.                              - 17 -
  963.  
  964.  
  965.  
  966.  
  967.       1.11. Ä»ÑαáΓ«αδ (K&R 9)
  968.  
  969.  
  970.       Turbo-C óδ»«½¡∩ÑΓ óßÑ íѺ ¿ß¬½ετÑ¡¿∩ «»ÑαáΓ«αδ,  «»¿ßá¡¡δÑ
  971.  ó K&R.
  972.  
  973.  
  974.       1.12. Ä»αÑñѽѡ¿Ñ ó¡ÑΦ¡¿σ Σπ¡¬µ¿⌐ (K&R 10.1)
  975.  
  976.  
  977.       Ä»¿ßá¡¿Ñ extern, ºáñá¡¡«Ñ ó¡πΓα¿ Σπ¡¬µ¿¿, ¿¼ÑÑΓ ñÑ⌐ßΓó¿Ñ ó
  978.  »αÑñѽáσ ñá¡¡«ú« í½«¬á. Ä»¿ßá¡¿Ñ ¡Ñ  íπñÑΓ  αáß»«º¡áóáΓ∞ß∩  ó¡Ñ
  979.  í½«¬á,   ó  ¬«Γ«α«¼  «¡«  «»αÑñѽѡ«.  Äñ¡á¬«,  Turbo-C   íπñÑΓ
  980.  "ºá»«¼¿¡áΓ∞" «»¿ßá¡¿∩, ñ½∩ Γ«ú« τΓ«íδ ßαáó¡¿óáΓ∞ ¿σ ß »«ß½Ññπε-
  981.  Θ¿¼¿ «»¿ßá¡¿∩¼¿ ΓÑσ ªÑ ßá¼δσ «íΩÑ¬Γ«ó.
  982.  
  983.       Turbo-C »«ññÑনóáÑΓ ñ«»«½¡¿Γѽ∞¡δÑ ¼«ñ¿Σ¿¬áΓ«αδ  Σπ¡¬µ¿⌐,
  984.  ΓᬿѠ¬á¬ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐  (ANSI-ßΓá¡ñáαΓ).  æπΘÑßΓóπÑΓ  ¡Ñß-
  985.  ¬«½∞¬« ß«íßΓóÑ¡¡δσ αáßΦ¿αÑ¡¿⌐ Turbo-C,  ¡á»α¿¼Ñα  Σπ¡¬µ¿¿  Γ¿»á
  986.  interrupt.
  987.  
  988.  
  989.       1.12.1. î«ñ¿Σ¿¬áΓ«αδ Γ¿»á Σπ¡¬µ¿¿ (K&R 10.1.1)
  990.  
  991.  
  992.       é ñ«»«½¡Ñ¡¿Ñ ¬ external ¿ static, Turbo-C »«ññÑনóáÑΓ α∩ñ
  993.  ¼«ñ¿Σ¿¬áΓ«α«ó Γ¿»á ñ½∩ «»¿ßá¡¿∩ Σπ¡¬µ¿⌐: pascal, cdecl,  inter-
  994.  rupt, near, far ¿ huge.
  995.  
  996.  
  997.       1.12.1.1. î«ñ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ pascal
  998.  
  999.  
  1000.       äá¡¡δ⌐ ¼«ñ¿Σ¿¬áΓ«α ¿ß»«½∞ºπÑΓß∩ ñ½∩ Σπ¡¬µ¿⌐ (¿½¿  π¬áºáΓÑ-
  1001.  ½Ñ⌐ ¡á Σπ¡¬µ¿¿), ¬«Γ«αδÑ ¿ß»«½∞ºπεΓ Åá߬á½Ñó߬πε »«ß½Ññ«óáΓѽ∞-
  1002.  ¡«ßΓ∞ »ÑαÑñáτ¿ »áαá¼ÑΓα«ó. ¥Γ«  »«ºó«½∩ÑΓ  »¿ßáΓ∞  ¡á  ∩ºδ¬Ñ  C
  1003.  Σπ¡¬µ¿¿, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ óδºóá¡δ ¿º »α«úαá¼¼, ¡á»¿ßá¡¡δσ  ¡á
  1004.  ñαπú«¼ ∩ºδ¬Ñ; á¡á½«ú¿τ¡«, ¡á½¿τ¿Ñ ¼«ñ¿Σ¿¬áΓ«αá íπñÑΓ  ñ«»π߬áΓ∞
  1005.  «íαáΘÑ¡¿Ñ ¿º C-»α«úαá¼¼, ¬ ó¡ÑΦ¡¿¼ »«ñ»α«úαá¼¼á¼, ¡á»¿ßá¡¡δ¼ ¡á
  1006.  ñαπú¿σ ∩ºδ¬áσ. ê¼∩ Σπ¡¬µ¿¿ »αÑ«íαáºπÑΓß∩ ¬  óÑασ¡Ñ¼π  αÑú¿ßΓαπ,
  1007.  τΓ« ¡Ñ«íσ«ñ¿¼« ñ½∩ αáí«Γδ αÑñá¬Γ«αá ßó∩ºÑ⌐.
  1008.  
  1009.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. êß»«½∞º«óá¡¿Ñ «»µ¿¿ -p íπñÑΓ  »α¿ó«ñ¿Γ∞  ¬
  1010.  Γ«¼π, τΓ« óßÑ Σπ¡¬µ¿¿ (¿ π¬áºáΓѽ¿ ¡á φΓ¿ Σπ¡¬µ¿¿) íπñπΓ  αáßß-
  1011.  ¼áΓα¿óáΓ∞ß∩ ¬á¬ Ñß½¿ íδ «¡¿ ¿¼Ñ½¿ Γ¿» pascal. ìá»α¿¼Ñα, Ñß½¿ óδ
  1012.  «íΩ∩󿽿 ¿ «Γ¬«¼»¿½¿α«ó὿ ß½ÑñπεΘπε Σπ¡¬µ¿ε:
  1013.  
  1014.          pascal putnums(unt i, int j, int k)
  1015.          {
  1016.             printf("And the answers are: %d, %d ¿ %d\n",i,j,k);
  1017.          }
  1018.  
  1019.  ñαπúá∩ C-»α«úαἼᠼ«ªÑΓ ºáΓѼ »«ñ¬½ετ¿Γ∞  ñá¡¡πε  Σπ¡¬µ¿ε  »α¿
  1020.  αáí«ΓÑ αÑñá¬Γ«αá ßó∩ºÑ⌐ ¿ «íαáΘáΓ∞ß∩ ¬ ¡Ñ⌐, ¿ß»«½∞ºπ∩ «»¿ßá¡¿Ñ:
  1021.  
  1022.                              - 18 -
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.          pascal putnums(int i, int j, int k);
  1029.          main()
  1030.          {
  1031.                  putnum(1,4,9);
  1032.          }
  1033.  
  1034.       öπ¡¬µ¿¿ Γ¿»á pascal ¡Ñ ¼«úπΓ ¿¼ÑΓ∞ αẽ¿τ¡«Ñ  τ¿ß½«  áαúπ-
  1035.  ¼Ñ¡Γ«ó, ¬á¬, ¡á»α¿¼Ñα, Σπ¡¬µ¿∩ printf. Å« φΓ«⌐  »α¿τ¿¡Ñ  óδ  ¡Ñ
  1036.  ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ φ½½¿»ß¿ß  (...)  (»α«»π߬  »«ñαáºπ¼ÑóáѼ«ú«
  1037.  áαúπ¼Ñ¡Γá) ó «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿ Γ¿»á pascal.
  1038.  
  1039.  
  1040.       1.12.1.2. î«ñ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ cdecl
  1041.  
  1042.  
  1043.       äá¡¡δ⌐ ¼«ñ¿Σ¿¬áΓ«α á¡á½«ú¿τÑ¡ ¼«ñ¿Σ¿¬áΓ«απ pascal; ¿ß»«½∞-
  1044.  ºπÑΓß∩ ß Σπ¡¬µ¿∩¼¿ ¿½¿ π¬áºáΓѽ∩¼¿ ¡á Σπ¡¬µ¿¿, ñ½∩  Γ«ú«  τΓ«íδ
  1045.  «Γ¼Ñ¡¿Γ∞ ñ¿αÑ¬Γ¿ó𠬫¼»¿½∩Γ«αá -p ¿ «íΩ∩ó¿Γ∞ Σπ¡¬µ¿ε ¬á¬  «íδτ-
  1046.  ¡πε C-Σπ¡¬µ¿ε. ìá»α¿¼Ñα, Ñß½¿ óδ »α¿ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ πßΓá-
  1047.  ¡«ó¿½¿ «»µ¿ε -p, ¡« σ«Γ¿ΓÑ ¿ß»«½∞º«óáΓ∞ printf, óδ ñ«½ª¡δ  »«ß-
  1048.  Γπ»¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  1049.  
  1050.          extern cdecl printf();
  1051.          putnums(int i, int j, int k);
  1052.  
  1053.          cdecl main()
  1054.          {
  1055.                  putnums(1,4,9);
  1056.          }
  1057.  
  1058.          putnums(int i, int j, int k)
  1059.          {
  1060.             printf("And the answers are: %d, %d ¿ %d\n",i,j,k);
  1061.          }
  1062.  
  1063.       àß½¿ »α«úαἼᠬ«¼»¿½¿απÑΓß∩ ß «»µ¿Ñ⌐ -p, óßÑ  Σπ¡¬µ¿¿  ¿º
  1064.  ß¿ßΓѼ¡«⌐ í¿í½¿«ΓѬ¿ ¡Ñ«íσ«ñ¿¼« «íΩ∩ó¿Γ∞  ¬á¬  cdecl.  àß½¿  óδ
  1065.  »«ß¼«Γα¿ΓÑ ß¿ßΓѼ¡δÑ  include-Σá⌐½δ,  Γ«  πó¿ñÑΓÑ,  τΓ«  ¬áªñá∩
  1066.  Σπ¡¬µ¿∩ ∩ó¡« «»¿ßá¡á ¬á¬ cdecl.
  1067.  
  1068.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. â½á¡á∩ »α«úαá¼¼á (main) ñ«½ª¡á íδΓ∞  ΓᬪÑ
  1069.  «íΩ∩ó½Ñ¡á cdecl.
  1070.  
  1071.  
  1072.       1.12.1.3. î«ñ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ interrupt
  1073.  
  1074.  
  1075.       î«ñ¿Σ¿¬áΓ«α interrupt  »αÑñ¡áº¡áτÑ¡  ñ½∩  ¿ß»«½∞º«óá¡¿∩  ß
  1076.  óÑ¬Γ«αἿ »αÑαδóá¡¿⌐ »α«µÑßß«αá 8086/8088. Turbo-C íπñÑΓ ¬«¼»¿-
  1077.  ½¿α«óáΓ∞ Σπ¡¬µ¿ε Γ¿»á interrupt ß ñ«»«½¡¿Γѽ∞¡δ¼ óσ«ñ«¼ ¿ ¬«ñ«¼
  1078.  ºáóÑαΦÑ¡¿∩, ΓᬠτΓ« αÑú¿ßΓαδ AX, BX, CX, DX, SI, DI,  ES  ¿  DS
  1079.  ß«σαá¡∩εΓß∩. äαπú¿Ñ αÑú¿ßΓαδ: BP, SP, SS, CS ¿  IP  ß«σαá¡∩εΓß∩
  1080.  ¬á¬ τáßΓ∞ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ C-ó맮óá ¿½¿ τáßΓ∞ ßἫ⌐ «íαáí«Γ¬¿
  1081.  
  1082.                              - 19 -
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  »αÑαδóá¡¿∩. Éáßß¼«Γα¿¼ »α¿¼Ñα ßΓá¡ñáαΓ¡«ú« «»αÑñѽѡ¿∩  Σπ¡¬µ¿¿
  1088.  Γ¿»á interrupt.
  1089.  
  1090.          void interrupt myhandler()
  1091.          {
  1092.                  . . .
  1093.          }
  1094.  
  1095.       åѽáΓѽ∞¡« «íΩ∩ó½∩Γ∞ Σπ¡¬µ¿¿ »αÑαδóá¡¿⌐ ¬á¬  Σπ¡¬µ¿¿  Γ¿»á
  1096.  void.   öπ¡¬µ¿¿  »αÑαδóá¡¿⌐  »«ññÑনóáεΓß∩  ñ½∩  óßÑσ  ¼«ñѽÑ⌐
  1097.  »á¼∩Γ¿. ä½∩ óßÑσ ¼«ñѽÑ⌐, ¿ß¬½ετá∩ huge, ó αÑú¿ßΓα DS ºá¡«ß¿Γß∩
  1098.  ßÑú¼Ñ¡Γ ñá¡¡δσ »α«úαá¼¼δ. ä½∩ ¼«ñѽ¿ huge ó  DS  ºá¡«ß¿Γß∩  ¼«-
  1099.  ñπ½∞¡δ⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ.
  1100.  
  1101.  
  1102.       1.12.1.4. Åα«Γ«Γ¿»δ Σπ¡¬µ¿⌐ (K&R 10.1.2)
  1103.  
  1104.  
  1105.       é K&R ñ«»π߬áÑΓß∩ Γ«½∞¬« «íΩ∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿, ß«ßΓ«∩ΘÑÑ  ¿º
  1106.  ¿¼Ñ¡¿, Γ¿»á ¿ »πßΓδσ ß¬«í«¬. Åáαá¼ÑΓαδ (Ñß½¿ «¡¿  ÑßΓ∞)  «íΩ∩ó-
  1107.  ½∩εΓß∩ Γ«½∞¬« ó «»αÑñѽѡ¿¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« ßἫ⌐ Σπ¡¬µ¿¿.
  1108.  
  1109.       ANSI ßΓá¡ñáαΓ ¿ Turbo-C ñ«»π߬áεΓ ¿ß»«½∞º«óá¡¿Ñ »α«Γ«Γ¿»«ó
  1110.  Σπ¡¬µ¿⌐, ñ½∩ Γ«ú« τΓ«íδ «íΩ∩ó¿Γ∞ Σπ¡¬µ¿ε. æπΘÑßΓóπεΓ ß»Ñµ¿á½∞¡-
  1111.  δÑ «»¿ßá¡¿∩, ¬«Γ«αδÑ ó¬½ετáεΓ ¿¡Σ«α¼áµ¿ε « »áαá¼ÑΓαáσ  Σπ¡¬µ¿¿.
  1112.  è«¼»¿½∩Γ«α ¿ß»«½∞ºπÑΓ ñá¡¡πε ¿¡Σ«α¼áµ¿ε  ñ½∩  »α«óÑન  ó맮ó«ó
  1113.  Σπ¡¬µ¿⌐, á ΓᬪѠñ½∩ »αÑ«íαẫóá¡¿∩ áαúπ¼Ñ¡Γ«ó  ¬  ΓαÑíπεΘѼπß∩
  1114.  Γ¿»π. Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ:
  1115.  
  1116.          long lmax(long v1, long v2);
  1117.  
  1118.          main()
  1119.          {
  1120.                  int limit=32;
  1121.                  char ch='A';
  1122.                  long mval;
  1123.  
  1124.                  mval=lmax(limit,ch);
  1125.          }
  1126.  
  1127.       çáñá¡ »α«Γ«Γ¿»  Σπ¡¬µ¿¿  ñ½∩  lmax;  φΓá  »α«úαἼᠠíπñÑΓ
  1128.  »αÑ«íαẫóδóáΓ∞ »áαá¼ÑΓαδ limit ¿ ch  ¬  Γ¿»π  long,  ¿ß»«½∞ºπ∩
  1129.  ßΓá¡ñáαΓ¡δÑ »αáó¿½á »αÑ«íαẫóá¡¿∩, »αѪñÑ τѼ «¡¿ íπñπΓ  »«¼Ñ-
  1130.  ΘÑ¡δ ó ßΓѬ ñ½∩ «íαáΘÑ¡¿∩  ¬  lmax.  Åα¿  «ΓßπΓßΓó¿¿  »α«Γ«Γ¿»á
  1131.  Σπ¡¬µ¿¿ »áαá¼ÑΓαδ limit ¿ ch í뫨 íδ »«¼ÑΘÑ¡δ ó ßΓѬ ß««ΓóÑΓßΓ-
  1132.  óÑ¡¡« ¬á¬ µÑ½«Ñ º¡áτÑ¡¿Ñ ¿ ß¿¼ó«½; ó φΓ«¼ ß½πτáÑ ó lmax »ÑαÑñá-
  1133.  ó὿ß∞ íδ »áαá¼ÑΓαδ, ¡Ñ ß«ó»áñáεΘ¿Ñ »« αẼÑαπ ¿  ß«ñÑαªá¡¿ε  ß
  1134.  «ª¿ñáÑ¼δ¼¿. êß»«½∞º«óá¡¿Ñ »α«Γ«Γ¿»«ó Σπ¡¬µ¿⌐ »«ºó«½∩ÑΓ ¿ºíѪáΓ∞
  1135.  «Φ¿í«¬.
  1136.  
  1137.       Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿
  1138.  
  1139.          f(void)
  1140.  
  1141.  
  1142.                              - 20 -
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  «º¡áτáÑΓ, τΓ« Σπ¡¬µ¿∩ ¡Ñ ¿¼ÑÑΓ áαúπ¼Ñ¡Γ«ó.
  1149.  
  1150.       é »α«Γ¿ó¡«¼ ß½πτáÑ, ó ß¬«í¬áσ π¬áºδóáÑΓß∩ ß»¿ß«¬  »áαá¼ÑΓ-
  1151.  α«ó, αáºñѽѡ¡δσ ºá»∩Γ묨. ÄíΩ∩ó½Ñ¡¿Ñ ¼«ªÑΓ íδΓ∞ ßñѽᡫ ó Σ«α-
  1152.  ¼Ñ
  1153.  
  1154.  
  1155.         func(int *, long);
  1156.  
  1157.  
  1158.         ¿½¿ ó ¡Ñú« ¼«úπΓ íδΓ∞ ó¬½ετÑ¡δ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ
  1159.  
  1160.  
  1161.         func(int * count, long total);
  1162.  
  1163.       é «í«¿σ ß½πτá∩σ, π¬áºá¡¡δσ óδΦÑ,  Σπ¡¬µ¿∩  func  »α¿¡¿¼áÑΓ
  1164.  ñóá »áαá¼ÑΓαá: π¬áºáΓѽ∞ ¡á Γ¿» int, ¡áºóá¡¡δ⌐ count,  ¿  µÑ½πε
  1165.  »ÑαѼѡ¡πε total Γ¿»á long. êñÑ¡Γ¿Σ¿¬áΓ«α, π¬áºá¡¡δ⌐ ó «íΩ∩ó½Ñ-
  1166.  ¡¿¿, ¿ß»«½∞ºπÑΓß∩ Γ«½∞¬« ó ñ¿áú¡«ßΓ¿τÑ߬«¼ ß««íΘÑ¡¿¿, ó  ß½πτáÑ
  1167.  ó«º¡¿¬¡«óÑ¡¿∩ ¡Ñß««ΓóÑΓßΓó¿∩ Γ¿»á »áαá¼ÑΓα«ó.
  1168.  
  1169.       Åα«Γ«Γ¿» Σπ¡¬µ¿¿ «íδτ¡« «»αÑñѽ∩ÑΓ  Σπ¡¬µ¿ε  ¬á¬  Σπ¡¬µ¿ε,
  1170.  »α¿¡¿¼áεΘπε Σ¿¬ß¿α«óá¡¡«Ñ τ¿ß½« »áαá¼ÑΓα«ó. ä½∩ C-Σπ¡¬µ¿⌐,  ¬«-
  1171.  Γ«αδÑ »α¿¡¿¼áεΓ αẽ¿τ¡«Ñ τ¿ß½« »áαá¼ÑΓα«ó (¡á»α¿¼Ñα,  printf),
  1172.  »α«»«Γ¿» Σπ¡¬µ¿¿ ¼«ªÑΓ ºá¬á¡τ¿óáΓ∞ß∩ ¼¡«ú«Γ«τ¿Ñ¼ (...),  ¡á»α¿-
  1173.  ¼Ñα
  1174.  
  1175.  
  1176.         f(int *count, long total, ...)
  1177.  
  1178.       Åα¿ Γᬫ⌐ Σ«α¼Ñ »α«Γ«Γ¿»á Σ¿¬ß¿α«óá¡¡δÑ  »áαá¼ÑΓαδ  »α«óÑ-
  1179.  α∩εΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿, á »ÑαѼѡ¡δÑ »áαá¼ÑΓαδ  »ÑαÑñáεΓß∩,
  1180.  ¬á¬ »α¿ «ΓßπΓßΓó¿¿ »α«Γ«Γ¿»á.
  1181.  
  1182.       Éáßß¼«Γα¿¼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó.
  1183.  
  1184.          int f();        /*  öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ óѽ¿τ¿¡π
  1185.                              Γ¿»á int. ¥Γ« ¬½áßß¿τÑ߬¿⌐
  1186.                              ßΓ¿½∞ K&R */
  1187.  
  1188.          int f(void);   /* öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ
  1189.                          Γ¿»á int. ƒó¡« π¬áºá¡«, τΓ« »áαá¼ÑΓαδ
  1190.                          ¡Ñ »ÑαÑñáεΓß∩ */
  1191.  
  1192.          int p(int,long);  /* öπ¡¬µ¿∩ »«½πτáÑΓ ñóá »áαá¼ÑΓαá;
  1193.                          »Ñαóδ⌐ ¿¼ÑÑΓ Γ¿» int, óΓ«α«⌐ - long */
  1194.  
  1195.          int pascal q(void); /* öπ¡¬µ¿∩ Åá߬á½Ñó߬«ú« Γ¿»á
  1196.                                  íѺ »áαá¼ÑΓα«ó; ó«ºóαáΘáÑΓ
  1197.                          º¡áτÑ¡¿Ñ Γ¿»á int */
  1198.  
  1199.          char far * s(char *source, int kind);   /* öπ¡¬µ¿∩
  1200.                          ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ Γ¿»á far ¡á
  1201.  
  1202.                              - 21 -
  1203.  
  1204.  
  1205.  
  1206.  
  1207.                          ßΓ᫬π; »«½πτáÑΓ ñóá »áαá¼ÑΓαá */
  1208.  
  1209.          int printf(char *format,...);  /* öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ
  1210.                          º¡áτÑ¡¿Ñ Γ¿»á int, »«½πτá∩ π¬áºáΓѽ∞
  1211.                          ¡á Σ¿¬ß¿α«óá¡¡δ⌐ »áαá¼ÑΓα Γ¿»á char
  1212.                          ¿ ½εí«Ñ τ¿ß½« ñ«»«½¡¿Γѽ∞¡δσ
  1213.                          »áαá¼ÑΓα«ó ¡Ñ¿ºóÑßΓ¡«ú« Γ¿»á */
  1214.  
  1215.          int (*fp)(int);  /* ô¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε, ó«ºóαáΘáεΘπε
  1216.                          º¡áτÑ¡¿Ñ Γ¿»á int ¿ »«½πτáεΘπε
  1217.                          Ññ¿¡ßΓóÑ¡¡δ⌐ int »áαá¼ÑΓα */
  1218.  
  1219.       ÄíΘ¿Ñ »αáó¿½á αáí«Γδ ß ¼«ñ¿Σ¿¬áΓ«αἿ ∩ºδ¬á ¿  Σ«α¼á½∞¡δ¼¿
  1220.  »áαá¼ÑΓαἿ ó ó맮óáσ Σπ¡¬µ¿⌐, ¬á¬ ¿ß»«½∞ºπεΘ¿σ »α«Γ«»¿Γδ,  Γá¬
  1221.  ¿ ¿σ ¡Ñ ¿ß»«½∞ºπεΘ¿σ:
  1222.  
  1223.  1)     î«ñ¿Σ¿¬áΓ«αδ ∩ºδ¬á ñ½∩ «»¿ßá¡¿∩ Σπ¡¬µ¿⌐ ñ«½ª¡δ ß«ó»áñáΓ∞
  1224.         ß ¼«ñ¿Σ¿¬áΓ«αἿ, ¿ß»«½∞ºπÑ¼δ¼¿  ó  «íΩ∩ó½Ñ¡¿¿  Σπ¡¬µ¿¿,
  1225.         ñ½∩ óßÑσ «íαáΘÑ¡¿⌐ ¬ Σπ¡¬µ¿¿.
  1226.  
  1227.  2)     öπ¡¬µ¿∩ ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ º¡áτÑ¡¿∩  Σ«α¼á½∞¡δσ  »áαá¼ÑΓα«ó,
  1228.         ¡« φΓ« ¡Ñ «¬áºδóáÑΓ ¬á¬«ú«-½¿í« ó«ºñÑ⌐ßΓó¿∩ ¡á  º¡áτÑ¡¿∩
  1229.         ñÑ⌐ßΓó¿Γѽ∞¡δσ áαúπ¼Ñ¡Γ«ó  ó  óδºδóáεΘÑ⌐  »α«úαá¼¼Ñ,  ºá
  1230.         ¿ß¬½ετÑ¡¿Ñ¼ Σπ¡¬µ¿⌐ »αÑαδóá¡¿∩.
  1231.  
  1232.       àß½¿ »α«Γ«Γ¿» Σπ¡¬µ¿¿ ¡Ñ «íΩ∩ó½Ñ¡ »αÑñóáα¿Γѽ∞¡«,  Turbo-C
  1233.  »αÑ«íαáºπÑΓ   áαúπ¼Ñ¡Γδ  »α¿  «íαáΘÑ¡¿¿  ¬   Σπ¡¬µ¿¿   ß«ú½áß¡«
  1234.  »αáó¿½á¼, «»¿ßá¡¡δ¼ ó αáºñѽѠ"Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ  »αÑ«íαẫóá¡¿∩".
  1235.  àß½¿ «íΩ∩ó½Ñ¡ »α«Γ«Γ¿», Turbo-C »αÑ«íαáºπÑΓ  áαúπ¼ÑΓδ  ¬  Γ¿»π,
  1236.  «íΩ∩ó½Ñ¡¡«¼π ñ½∩ »áαá¼ÑΓα«ó.
  1237.  
  1238.       àß½¿ »α«Γ«Γ¿» Σπ¡¬µ¿¿ ó¬½ετáÑΓ ¼¡«ú«Γ«τ¿Ñ  (...),  Turbo-C
  1239.  »αÑ«íαáºπÑΓ óßÑ ºáñá¡¡δÑ áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ ¬ áαúπ¼Ñ¡Γá¼,  ºáñá-
  1240.  óáÑ¼δ¼ »α«Γ«Γ¿»«¼ (ñ« ¼¡«ú«Γ«τ¿∩).  è«¼»¿½Γ«α  íπñÑΓ  αáßΦ¿α∩Γ∞
  1241.  ½εíδÑ áαúπ¼Ñ¡Γδ, ºáñá¡¡δÑ »«ß½Ñ  Σ¿¬ß¿α«óá¡¡δσ  »áαá¼ÑΓα«ó,  »«
  1242.  ¡«α¼á½∞¡δ¼ »αáó¿½á¼ ñ½∩ áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿⌐ íѺ »α«Γ«Γ¿»«ó.
  1243.  
  1244.       àß½¿ ÑßΓ∞ »α«Γ«Γ¿», τ¿ß½«  áαúπ¼Ñ¡Γ«ó  ñ«½ª¡«  íδΓ∞  ß««Γ-
  1245.  óÑΓßΓóÑ¡¡δ¼ (ºá ¿ß¬½ετÑ¡¿Ñ¼ ß½πτá∩, ¬«úñá  ó  »α«Γ«Γ¿»Ñ  «»πΘÑ¡
  1246.  ¬á¬«⌐-½¿í« áαúπ¼Ñ¡Γ). Æ¿»δ ñ«½ª¡δ  íδΓ∞  ß«ó¼ÑßΓ¿¼δ  Γ«½∞¬«  »«
  1247.  αẼÑαπ, ñ½∩ Γ«ú« τΓ«íδ ¬«ααÑ¬Γ¡« »α«¿ºó«ñ¿½¿ß∞  »αÑ«íαẫóá¡¿∩
  1248.  Γ¿»«ó. éδ óßÑúñá ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ∩ó¡δÑ »αÑ«íαẫóá¡¿∩ áαúπ-
  1249.  ¼Ñ¡Γ«ó ¬ Γ¿»π, ñ«»πßΓ¿¼«¼π ñ½∩ »α«Γ«Γ¿»á Σπ¡¬µ¿¿.
  1250.  
  1251.       ÅÉêîàÉ:
  1252.  
  1253.  int strcmp(char *s1, char *s2);   /* Å«½¡δ⌐ »α«Γ«Γ¿» */
  1254.  int *strcpy();                    /* ìÑΓ »α«Γ«Γ¿»á */
  1255.  int samp1(foat, int, ...);        /* Å«½¡δ⌐ »α«Γ«Γ¿» */
  1256.  
  1257.  samp2()
  1258.  {
  1259.          char *sx, *cp;
  1260.          double z;
  1261.  
  1262.                              - 22 -
  1263.  
  1264.  
  1265.  
  1266.  
  1267.          long a;
  1268.          float q;
  1269.  
  1270.          if(strcmp(sx, cp))    /* 1. éÑα¡« */
  1271.            strcpy(sx, cp, 44); /* 2. êñÑΓ Γ«½∞¬« ñ½∩ Turbo-C */
  1272.          samp1(3, a, q);       /* 3. éÑα¡« */
  1273.          strcpy(cp);           /* 4. ÄΦ¿í¬á »α¿ óδ»«½¡Ñ¡¿¿ */
  1274.          samp1(2);             /* 5. ÄΦ¿í¬á »α¿ ¬«¼»¿½∩µ¿¿ */
  1275.  }
  1276.  
  1277.       é 1 ó맮óÑ (ß¼. ¡π¼Ñαáµ¿ε  ó  ¬«¼¼Ñ¡Γáα¿∩σ)  ¿ß»«½∞º«óá¡¿Ñ
  1278.  Σπ¡¬µ¿¿ strcmp ∩ó¡« ß««ΓóÑΓßΓóπÑΓ  »α«Γ«Γ¿»π  ¿  ¬«ααÑ¬Γ¡«  ñ½∩
  1279.  óßÑσ ß½πτáÑó.
  1280.  
  1281.       é« 2 ó맮óÑ (strcpy) ¿¼ÑÑΓß∩ ½¿Φ¡¿⌐ áαúπ¼Ñ¡Γ (strcpy «»αÑ-
  1282.  ñѽѡá ñ½∩ ñóπσ áαúπ¼Ñ¡Γ«ó, á ¡Ñ ñ½∩ 3-Ñσ). é φΓ«¼ ß½πτáÑ  Tur-
  1283.  bo-C ΓÑα∩ÑΓ ¡Ñí«½∞Φ«Ñ ¬«½¿τÑßΓó« óαѼѡ¿ ¿ úÑ¡Ñα¿Γ ¬«ñ ñ½∩  »«-
  1284.  ¼ÑΘÑ¡¿∩ ½¿Φ¡Ñú« áαúπ¼Ñ¡Γá ó ßΓѬ. ¥Γ«, «ñ¡á¬«, ¡Ñ ∩ó½∩ÑΓß∩ ß¿¡-
  1285.  Γá¬ß¿τÑ߬«⌐ «Φ¿í¬«⌐, Γ.¬. ¬«¼»¿½∩Γ«α ¡Ñ º¡áÑΓ « τ¿ß½Ñ  áαúπ¼Ñ¡-
  1286.  Γ«ó strcpy. Æᬫ⌐ ó맮ó ¡Ñ ñ«»πßΓ¿¼ ñ½∩ ñαπú¿σ ¬«¼»¿½¿Γ«α«ó.
  1287.  
  1288.       é 3-Ѽ »α¿¼ÑαÑ »α«Γ«Γ¿»  ΓαÑíπÑΓ,  τΓ«íδ  1  áαúπ¼Ñ¡Γ  ñ½∩
  1289.  samp1 íδ½ »αÑ«íαẫóá¡ ¬ float, á  2-«⌐  -  ¬  int.  è«¼»¿½∩Γ«α
  1290.  óδñáßΓ »αÑñπ»αѪñÑ¡¿Ñ « ó«º¼«ª¡«⌐ »«ΓÑαÑ º¡áτ¿¼δσ µ¿Σα óß½ÑñßΓ-
  1291.  ó¿Ñ Γ«ú«, τΓ« »α¿ »αÑ«íαẫóá¡¿¿ Γ¿»á long ¬ Γ¿»π int  «Γíαáßδ-
  1292.  óáεΓß∩ óÑασ¡¿Ñ í¿Γδ. éδ ¼«ªÑΓÑ ¿ºíáó¿Γ∞ß∩ «Γ óδñáτ¿ Γᬫú« »αÑ-
  1293.  ñπ»αѪñÑ¡¿∩, Ñß½¿ ºáñáñ¿ΓÑ ∩ó¡«Ñ »αÑ«íαẫóá¡¿Ñ ¬ µÑ½«¼π.  ÆαÑ-
  1294.  Γ¿⌐   áαúπ¼Ñ¡Γ,  q,  ß««ΓóÑΓßΓóπÑΓ   «»πΘÑ¡¡«¼π   áαúπ¼Ñ¡Γπ   ó
  1295.  »α«Γ«Γ¿»Ñ. Ä¡ »αÑ«íαáºπÑΓß∩ ¬  Γ¿»π  double  ß«ú½áß¡«  «íδτ¡«¼π
  1296.  áα¿Σ¼ÑΓ¿τÑ߬«¼π »αÑ«íαẫóá¡¿ε. éÑß∞ óδº«ó ¬«ααѬΓÑ¡.
  1297.  
  1298.       é 4 ó맮óÑ ß¡«óá óßΓαÑτáÑΓß∩ «íαáΘÑ¡¿Ñ ¬ strcpy, ¡«  τ¿ß½«
  1299.  áαúπ¼Ñ¡Γ«ó ß½¿Φ¬«¼ ¼á½«.  ¥Γ«  ó맮óÑΓ  «Φ¿í¬π  »α¿  óδ»«½¡Ñ¡¿¿
  1300.  »α«úαá¼¼δ. è«¼»¿½∩Γ«α ªÑ ¡¿τÑú« ¡Ñ ß««íΘ¿Γ (Ñß½¿ ñáªÑ τ¿ß½« »á-
  1301.  αá¼ÑΓα«ó «Γ½¿τáÑΓß∩ «Γ τ¿ß½á »áαá¼ÑΓα«ó ó »αÑñδñπΘѼ ó맮óÑ Γ«⌐
  1302.  ªÑ Σπ¡¬µ¿¿), Γ.¬. ñ½∩ strcpy ¡ÑΓ »α«Γ«Γ¿»á Σπ¡¬µ¿¿.
  1303.  
  1304.       é 5 ó맮óÑ ñ½∩ Σπ¡¬µ¿¿ samp1 ºáñá¡« ß½¿Φ¬«¼ ¼á½«  áαúπ¼Ñ¡-
  1305.  Γ«ó. Æ.¬. samp1 ΓαÑíπÑΓ ¼¿¡¿¼π¼ 2 áαúπ¼Ñ¡Γá, φëà«»ÑαáΓ«α  ∩ó-
  1306.  ½∩ÑΓß∩ «Φ¿í«τ¡δ¼. è«¼»¿½∩Γ«α óδñáßΓ  ß««íΘÑ¡¿Ñ  «  Γ«¼,  τΓ«  ó
  1307.  ó맮óÑ ¡Ñ σóáΓáÑΓ áαúπ¼Ñ¡Γ«ó.
  1308.  
  1309.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. àß½¿ óáΦ »α«Γ«Γ¿» Σπ¡¬µ¿¿ ¡Ñ ß««ΓóÑΓßΓóπÑΓ
  1310.  ñÑ⌐ßΓó¿Γѽ∞¡«¼π «»αÑñѽѡ¿ε Σπ¡¬µ¿¿, Turbo-C  «í¡áαπª¿Γ  φΓ«  ó
  1311.  Γ«¼ ¿ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ φΓ« «»αÑñѽѡ¿Ñ ¡áσ«ñ¿Γß∩ ó Γ«¼
  1312.  ªÑ Σá⌐½Ñ, τΓ« ¿ »α«Γ«Γ¿». àß½¿ óδ ß«ºñáÑΓÑ í¿í½¿«ΓÑ¬π  »α«úαá¼¼
  1313.  ß ß««ΓóÑΓßΓóπεΘ¿¼  ßí«α¡¿¬«¼  »α«Γ«Γ¿»«ó  (include-Σá⌐½«¼),  óδ
  1314.  ñ«½ª¡δ πτ¿ΓδóáΓ∞ ó¬½ετÑ¡¿Ñ Σá⌐½á ß »α«Γ«Γ¿»á¼¿ ó« óαѼ∩  ¬«¼»¿-
  1315.  ½∩µ¿¿ í¿í½¿«ΓѬ¿, ñ½∩ Γ«ú« τΓ«íδ  «Γ½«ó¿Γ∞  ½εí«Ñ  »α«Γ¿ó«αÑτ¿Ñ
  1316.  ¼Ñªñπ »α«Γ«Γ¿»á¼¿ ¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ «»αÑñѽѡ¿∩¼¿ Σπ¡¬µ¿⌐.
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.                              - 23 -
  1323.  
  1324.  
  1325.  
  1326.  
  1327.       1.13. Åαáó¿½á ó¿ñ¿¼«ßΓ¿ (K&R 11)
  1328.  
  1329.  
  1330.       Åαáó¿½á ó¿ñ¿¼«ßΓ¿ - φΓ«  »αáó¿½á,  «»αÑñѽ∩εΘ¿Ñ,  ó  ¬á¬¿σ
  1331.  τáßΓ∩σ ΓѬßΓá »α«úαá¼¼δ ¼«ªÑΓ íδΓ∞  ¿ß»«½∞º«óá¡á  »ÑαѼѡ¡á∩  ó
  1332.  ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, úñÑ ¿ ¬á¬ «¡á «»¿ßá¡á.
  1333.  
  1334.       Turbo-C αáºαÑΦáÑΓ í«½ÑÑ ó«½∞¡«Ñ «íαáΘÑ¡¿Ñ ß  ¡Ñπ¡¿¬á½∞¡δ¼¿
  1335.  ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ, τѼ Γ«ú«  ΓαÑíπÑΓ  K&R.  Éẽ¿τáεΓ  4  ¬½áßßá
  1336.  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó:
  1337.  
  1338.       ê¼Ñ¡á, «»¿ßδóáѼδÑ ß »«¼«Θ∞ε  ß½«óá  typedef,  »ÑαѼѡ¡δÑ,
  1339.  τ½Ñ¡δ »ÑαÑτ¿ß½Ñ¡¿∩ ñ«½ª¡δ íδΓ∞ π¡¿¬á½∞¡δ¼¿ ó¡πΓα¿ í½«¬á, ó  ¬«-
  1340.  Γ«α«¼ «¡¿ «»¿ßá¡δ. êñÑ¡Γ¿Σ¿¬áΓ«αδ, «íΩ∩ó½Ñ¡¡δÑ ó¡ÑΦ¡¿¼¿, ñ«½ª¡δ
  1341.  íδΓ∞ π¡¿¬á½∞¡δ¼¿ ßαÑñ¿ »ÑαѼѡ¡δσ, «»¿ßá¡¡δσ ¬á¬ ó¡ÑΦ¡¿Ñ.
  1342.  
  1343.       æΓαπ¬Γπαá, «íΩÑñ¿¡Ñ¡¿Ñ, »α¿º¡á¬¿ »ÑαÑτ¿ß½Ñ¡¿∩ ñ«½ª¡δ  íδΓ∞
  1344.  π¡¿¬á½∞¡δ¼¿ ó¡πΓα¿ í½«¬á, ó ¬«Γ«α«¼ «¡¿ «»¿ßá¡δ. Åਧ¡á¬¿, «»¿-
  1345.  ßá¡¡δÑ ó¡Ñ »αÑñѽ«ó ¬á¬«⌐-½¿í« Σπ¡¬µ¿¿, ñ«½ª¡δ  íδΓ∞  π¡¿¬á½∞¡δ
  1346.  ßαÑñ¿ óßÑσ »α¿º¡á¬«ó, «»¿ßá¡¡δσ ¬á¬ ó¡ÑΦ¡¿Ñ.
  1347.  
  1348.       ê¼Ñ¡á ßΓαπ¬Γπαδ ¿ τ½Ñ¡á «íΩÑñ¿¡Ñ¡¿∩ ñ«½ª¡δ íδΓ∞  π¡¿¬á½∞¡δ
  1349.  ó ßΓαπ¬ΓπαÑ ¿½¿ «íΩÑñ¿¡Ñ¡¿¿, ó ¬«Γ«αδσ «¡¿ «»¿ßá¡δ. ìÑ  ßπΘÑßΓ-
  1350.  óπÑΓ ¡¿¬á¬¿σ «úαá¡¿τÑ¡¿⌐ ¡á Γ¿» ¿½¿ ß¼ÑΘÑ¡¿Ñ ñ½∩ τ½Ñ¡«ó ß  «ñ¿-
  1351.  ¡á¬«óδ¼ ¿¼Ñ¡á¼¿ ó αẽ¿τ¡δσ ßΓαπ¬Γπαáσ.
  1352.  
  1353.       Ä»ÑαáΓ«αδ GOTO ¡á ¼ÑΓ¬π ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ß∩ ½¿Φ∞  ó  Γ«⌐
  1354.  Σπ¡¬µ¿¿, úñÑ «íΩ∩ó½Ñ¡á ñá¡¡á∩ ¼ÑΓ¬á.  îÑΓ¬á,  ó  ßó«ε  «τÑαÑñ∞,
  1355.  ñ«½ª¡á íδΓ∞ π¡¿¬á½∞¡á ñ½∩ Σπ¡¬µ¿¿, ó ¬«Γ«α«⌐ «¡á «íΩ∩ó½Ñ¡á.
  1356.  
  1357.  
  1358.       1.14. è«¼á¡ñδ π»αáó½Ñ¡¿∩ Γαá¡ß½∩µ¿Ñ⌐ (R&K 12)
  1359.  
  1360.  
  1361.       Turbo-C »«ññÑনóáÑΓ óßÑ π»αáó½∩εΘ¿Ñ ¬«¼á¡ñδ, «»¿ßá¡¡δÑ  ó
  1362.  K&R. ¥Γ¿¼¿ ¬«¼á¡ñἿ ∩ó½∩εΓß∩ ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá -  ßΓ᫬¿
  1363.  ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ, ¡áτ¿¡áεΘ¿Ñß∩ ß« º¡á¬á #.
  1364.  
  1365.  
  1366.       1.14.1. çá¼Ñ¡á ½Ñ¬ßѼ (K&R 12.1)
  1367.  
  1368.  
  1369.       Turbo-C óδ»«½¡∩ÑΓ óßÑ «»αÑñѽѡ¿∩ #define ¿  #undef,  «»¿-
  1370.  ßá¡¡δÑ ó R&K, ß« ß½ÑñπεΘ¿¼¿ ñ«»«½¡Ñ¡¿∩¼¿:
  1371.  
  1372.       1. æ½ÑñπεΘ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¡Ñ «í∩ºáΓѽ∞¡«  ñ«½ª¡δ  óßΓαÑ-
  1373.  τáΓ∞ß∩ ó ñ¿αÑ¬Γ¿óáσ #define ¿ #undef:
  1374.  
  1375.       _STDC_
  1376.  
  1377.       _FILE_
  1378.  
  1379.       _LINE_
  1380.  
  1381.  
  1382.                              - 24 -
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.       _DATE_
  1389.  
  1390.       _TIME_
  1391.  
  1392.       2. é ¼á¬α««»αÑñѽѡ¿Ñ ¼«úπΓ  íδΓ∞  óßΓáó½Ñ¡δ  ñóÑ  ½Ñ¬ßѼδ
  1393.  ó¼ÑßΓÑ, αáºñѽѡ¡δÑ º¡á¬á¼¿ ##, ¡á»α¿¼Ñα:
  1394.  
  1395.       #define VAR(i,j) (i ## j)
  1396.  
  1397.       Åα¿ φΓ«¼ VAR(x,6) ó맮óÑΓ  »«ñßΓá¡«ó¬π  x6.  ¥Γ«  ºá¼Ñ¡∩ÑΓ
  1398.  ¿¡«úñá π»«ΓαÑí½∩Ѽδ⌐, ¡«  ¡Ñ  »ÑαÑ¡«ß¿¼δ⌐  ¼ÑΓ«ñ  ¿ß»«½∞º«óá¡¿∩
  1399.  (i/**/j).
  1400.  
  1401.       3. é½«ªÑ¡¡δÑ ¼á¬α«ßδ ó ßΓα«¬Ñ ¼á¬α«-«»αÑñѽѡ¿∩  ßαáí«ΓáεΓ
  1402.  ½¿Φ∞ Γ«úñá, ¬«úñá ßαáí«ΓáÑΓ ßá¼ ¼á¬α«ß, á ¡Ñ »α¿ Ñú«  «»¿ßá¡¿¿.
  1403.  ¥Γ« í«½∞ΦÑ ¬áßáÑΓß∩ ó½«ªÑ¡¡δσ ¼á¬α«ß«ó #undef.
  1404.  
  1405.       4. æ¿¼ó«½ #, »«¼ÑΘáѼδ⌐ »ÑαÑñ ¼á¬α«áαúπ¼Ñ¡Γ«¼, π¬áºδóáÑΓ «
  1406.  »αÑ«íαẫóá¡¿¿ Ñú« ó ßΓ᫬π. Åα¿ ¼á¬α«»«ñßΓá¡«ó¬Ñ  »α«¿ºó«ñ¿Γß∩
  1407.  ºá¼Ñ¡á #<Σ«α¼á½∞¡δ⌐ áαúπ¼Ñ¡Γ> ¡á  "<ñÑ⌐ßΓó¿Γѽ∞¡δ⌐  áαúπ¼Ñ¡Γ>".
  1408.  Æá¬, »α¿ ºáñá¡¿¿ ¼á¬α««»αÑñѽѡ¿∩
  1409.  
  1410.       #define TRACE(flag) printf(#flag "= %d\n", flag)
  1411.  
  1412.       ß½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ ΓѬßΓá »α«úαá¼¼δ
  1413.  
  1414.       highval = 1024;
  1415.  
  1416.       TRACE(highval);
  1417.  
  1418.       »αÑ«íαáºπÑΓß∩:
  1419.  
  1420.       highval = 1024;
  1421.  
  1422.       printf("highval" "= %d\n", highval);
  1423.  
  1424.       5. é «Γ½¿τ¿Ñ «Γ ñαπú¿σ αÑ὿ºáµ¿⌐, Turbo-C ¡Ñ «ßπΘÑßΓó½∩ÑΓ
  1425.  »«ñßΓᡫ󫬠¼á¬α«áαúπ¼Ñ¡Γ«ó ó¡πΓα¿ ßΓ᫬ ¿ ß¿¼ó«½∞¡δ󠬫¡ßΓá¡Γ.
  1426.  
  1427.  
  1428.       1.14.2. é¬½ετÑ¡¿Ñ Σá⌐½á (K&R 12.2)
  1429.  
  1430.  
  1431.       Turbo-C ¿ß»«½∞ºπÑΓ ñ¿αÑ¬Γ¿óπ ΓᬠªÑ, ¬á¬ «»¿ßá¡« ó K&R, ¡«
  1432.  ßπΘÑßΓóπεΓ ¡Ñ¬«Γ«αδÑ ñ«»«½¡¿Γѽ∞¡δÑ «ß«íÑ¡¡«ßΓ¿:  àß½¿  »αÑ»α«-
  1433.  µÑßß«α ¡Ñ ¡áΦѽ include-Σá⌐½ ó ¬áΓὫúÑ, πßΓá¡«ó½Ñ¡¡«¼ »« π¼«½-
  1434.  τá¡¿ε (»αÑ»«½áúáÑΓß∩, τΓ« óδ ¿ß»«½∞ºπÑΓÑ Σ«α¼π
  1435.  
  1436.       include "filename"), Γ«úñá «¡ ¿ΘÑΓ ¬áΓὫú¿, ºáñá¡¡δÑ  «»-
  1437.  µ¿Ñ⌐   ¬«¼»¿½∩Γ«αá  -I.  àß½¿  óδ  ¿ß»«½∞ºπÑΓÑ  Σ«α¼π  #include
  1438.  <filenamr>, Γ«úñá ¿ΘπΓß∩ Γ«½∞¬« ¬áΓὫú¿, ºáñá¡¡δÑ  «»µ¿Ñ⌐  -I.
  1439.  (èáΓὫú¿, »ÑαÑτ¿ß½∩ѼδÑ ó ¼Ñ¡ε »« «»µ¿¿ O/Environment/Include,
  1440.  φ¬ó¿óá½Ñ¡Γ¡δ ¬áΓὫúá¼, ºáñá¡¡δ¼ ß »«¼«Θ∞ε «»µ¿¿ -I pathname  ó
  1441.  
  1442.                              - 25 -
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ.
  1448.  
  1449.       éδ ¼«ªÑΓÑ ºáñáΓ∞ ¿¼∩ »πΓ¿ #include,  ó¬½ετáεΘÑÑ  úαá¡¿τ¡δÑ
  1450.  αáºñѽ¿Γѽ¿, ¿ß»«½∞ºπ∩ ¼á¬α«αáßΦ¿αÑ¡¿Ñ. àß½¿  ß½ÑñπεΘá∩  ßΓ᫬á
  1451.  »«ß½Ñ ¬½ετÑó«ú« ß½«óá ¡áτ¿¡áÑΓß∩ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, »αÑ»α«µÑßß«α
  1452.  »α«ß¼áΓα¿óáÑΓ ΓѬßΓ ñ½∩ ¼á¬α«ßá. Äñ¡á¬«, Ñß½¿ ßΓα«¬á  ºá¬½ετÑ¡á
  1453.  ó ¬áóδτ¬¿ ¿½¿ ó πú«½∞¡δѠ߬«í¬¿, Turbo-C ¡Ñ íπñÑΓ »α«óÑα∩Γ∞  ÑÑ
  1454.  ñ½∩ ºá»«¼¿¡á¡¿∩ ¼á¬α«ßá. ìá»α¿¼Ñα,
  1455.  
  1456.       #define myinclude "c:\tc\include\mystuff.h"
  1457.  
  1458.       #include myinclude
  1459.  
  1460.       #include "myinclude"
  1461.  
  1462.       1-δ⌐ #include-«»ÑαáΓ«α ºáßΓáó¿Γ »αÑ»α«µÑßß«α »α«ß¼áΓα¿óáΓ∞
  1463.  C:\TC\INCLUDE\MYSTUFF.H, Γ«úñᠬᬠ2-«⌐ ó맮óÑΓ »α«ß¼«Γα MYINC-
  1464.  LUDE.H ó ¬áΓὫúÑ »« π¼«½τá¡¿ε.
  1465.  
  1466.       éδ ¼«ªÑΓÑ ¡Ñ ¿ß»«½∞º«óáΓ∞  «íΩÑñ¿¡Ñ¡¿Ñ  ½¿ΓÑα¡δσ  ßΓ᫬  ¿
  1467.  óßΓáó¬π ½Ñ¬ßѼ ó  ¼á¬α«ßÑ,  ¬«Γ«αδ⌐  ¿ß»«½∞ºπÑΓß∩  ó  «»ÑαáΓ«αÑ
  1468.  include. îá¬α«αáßΦ¿αÑ¡¿Ñ ñ«½ª¡« úÑ¡Ñα¿Γ∞ ΓѬßΓ, ¬«Γ«αδ⌐ τ¿ΓáÑΓ-
  1469.  ß∩ ¬á¬ ¡«α¼á½∞¡á∩ #include-ñ¿αÑ¬Γ¿óá.
  1470.  
  1471.  
  1472.       1.14.3. ôß½«ó¡á∩ ¬«¼»¿½∩µ¿∩ (K&R 12.3)
  1473.  
  1474.  
  1475.       Turbo-C »«ññÑনóáÑΓ «»αÑñѽѡ¿Ñ πß½«ó¡«⌐ ¬«¼»¿½∩µ¿¿ K&R ß
  1476.  »«¼«Θ∞ε ºá¼Ñ¡δ ß««ΓóÑΓßΓóπεΘ¿σ ßΓ᫬ ¡á »πßΓδÑ. æΓ᫬¿, ¿ú¡«α¿-
  1477.  απѼδÑ Γ.«., ¡áτ¿¡áεΓß∩ ß ñ¿αÑ¬Γ¿ó #if, #ifdef, #ifndef, #else,
  1478.  #elif,
  1479.  
  1480.       endif, ΓᬪѠ¬á¬ ¿ óßÑ ¡Ñ¬«¼»¿½¿απѼδÑ ßΓ᫬¿,  ∩ó½∩εΘ¿Ñß∩
  1481.  αѺπ½∞ΓáΓ«¼ φΓ¿σ ñ¿αÑ¬Γ¿ó. éßÑ  ñ¿αÑ¬Γ¿óδ  πß½«ó¡«⌐  ¬«¼»¿½∩µ¿¿
  1482.  ñ«½ª¡δ ºá¬á¡τ¿óáΓ∞ß∩ ó ¿ßσ«ñ¡«⌐ »α«úαἼѠ¿½¿ include-Σá⌐½Ñ,  ó
  1483.  ¬«Γ«αδσ «¡¿ ¡áτ὿ß∞.
  1484.  
  1485.         Turbo-C  »«ññÑনóáÑΓ  ΓᬪѠ  «»ÑαáΓ«α   ANSI-ßΓá¡ñáαΓá
  1486.  defined(symbol). Åα¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ 1 (true),  Ñß½¿  ß¿¼ó«½
  1487.  íδ½ »αÑñóáα¿Γѽ∞¡« «»αÑñѽѡ (ß ¿ß»«½∞º«ó᡿Ѽ #define) ¿ ºáΓѼ
  1488.  ¡Ñ íδ½ «Γ¼Ñ¡Ñ¡ (ß ¿ß»«½∞º«ó᡿Ѽ
  1489.  
  1490.       undef); ¿¡áτÑ »α¿ßóá¿óáÑΓß∩ 0 (false). Æá¬, ñ¿αÑ¬Γ¿óá
  1491.  
  1492.       #if defined(mysym)
  1493.  
  1494.       áñѬóáΓ¡á ñ¿αÑ¬Γ¿óÑ
  1495.  
  1496.       #ifdef mysym
  1497.  
  1498.       ÅαÑ¿¼πΘÑßΓó«¼ φΓ«ú« ∩ó½∩ÑΓß∩  ó«º¼«ª¡«ßΓ∞  »«óΓ«α¡«ú«  ¿ß-
  1499.  »«½∞º«óá¡¿∩ defined ó ß½«ª¡«¼ óδαáªÑ¡¿¿, ßΓ«∩ΘѼ  »«ß½Ñ  ñ¿αѬ-
  1500.  Γ¿óδ #if:
  1501.  
  1502.                              - 26 -
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.       #if defined(mysym) || defined(yoursym)
  1509.  
  1510.       Turbo-C (ó «Γ½¿τ¿Ñ «Γ  ANSI)  »«ºó«½∩ÑΓ  óá¼  ¿ß»«½∞º«óáΓ∞
  1511.  «»ÑαáΓ«α sizeof ó óδαáªÑ¡¿¿ ñ½∩ »αÑ»α«µÑßß«αá:
  1512.  
  1513.       #if (sizeof(void *) ==2)
  1514.       #define SDATA
  1515.       #else
  1516.       #define LDATA
  1517.       #endif
  1518.  
  1519.  
  1520.       1.14.4. ô»αáó½Ñ¡¿Ñ ßΓα«¬á¼¿ (K&R 12.4)
  1521.  
  1522.  
  1523.       Turbo-C »«ññÑনóáÑΓ «»αÑñѽѡ¿Ñ #line, ñá¡¡«Ñ ó K&R.
  1524.  
  1525.  
  1526.       1.14.5. ä¿αÑ¬Γ¿óá «íαáí«Γ¬¿ «Φ¿í«¬ (ANSI C 3.8.5)
  1527.  
  1528.  
  1529.       Turbo-C »«ññÑনóáÑΓ ñ¿αÑ¬Γ¿óπ #error, ¬«Γ«αá∩ π»«¼¿¡áÑΓß∩
  1530.  (¡« ¡Ñ «»αÑñѽ∩ÑΓß∩) ó ANSI-ßΓá¡ñáαΓÑ. àÑ Σ«α¼áΓ:
  1531.  
  1532.       #error errmsg
  1533.  
  1534.       àß½¿ óδ ó¬½ετ¿ΓÑ φΓπ ñ¿αÑ¬Γ¿óπ πß½«ó¡«⌐ ¬«¼»¿½∩µ¿¿ ó  Σá⌐½
  1535.  ß óáΦÑ⌐ ¿ßσ«ñ¡«⌐ »α«úαá¼¼«⌐ ¿ πß½«ó¡δÑ ΓÑßΓ«óδÑ Σá⌐½δ,  »αÑ»α«-
  1536.  µÑßß«α íπñÑΓ ßτ¿ΓδóáΓ∞ ñ¿αÑ¬Γ¿óπ #error ¿ ¡Ñ¼Ññ½Ñ¡¡« »αÑαδóáΓ∞-
  1537.  ß∩, óδñáóá∩ »α¿ φΓ«¼ ß½ÑñπεΘÑÑ ß««íΘÑ¡¿Ñ:
  1538.  
  1539.       Fatal: filename line# Error directive: errmsg
  1540.  
  1541.       ÅαÑ»α«µÑßß«α »α«ß¼áΓα¿óáÑΓ ΓѬßΓ ñ½∩ Γ«ú«,  τΓ«íδ  π¡¿τΓ«-
  1542.  ª¿Γ∞ ¬«¼¼Ñ¡Γáα¿¿, ¡« ¡á  φ¬αá¡  óδó«ñ¿Γ  «ßΓáóΦ¿⌐ß∩  ΓѬßΓ  íѺ
  1543.  »α«ß¼«Γαá ñ½∩ óδ∩ó½Ñ¡¿∩ ¼á¬α«ß«ó.
  1544.  
  1545.  
  1546.       1.14.6. ä¿αÑ¬Γ¿óá PRAGMA (ANSI C 3.8.6)
  1547.  
  1548.  
  1549.       Turbo-C »«ññÑনóáÑΓ ñ¿αÑ¬Γ¿óπ #pragma, ¬«Γ«αá∩ (¬á¬ ¿
  1550.  
  1551.       error), ¡Ñ∩ß¡« «»αÑñѽ∩ÑΓß∩ ó ANSI-ßΓá¡ñáαΓÑ. àÑ µÑ½∞ε ∩ó-
  1552.  ½∩ÑΓß∩ αáºαÑΦ¿Γ∞ ß»Ñµ¿á½¿º¿α«óá¡¡δÑ ñ¿αÑ¬Γ¿óδ:
  1553.  
  1554.       #pragma <directive name>
  1555.  
  1556.         æ  »«¼«Θ∞ε  #pragma  Turbo-C  ¼«ªÑΓ   «»αÑñѽ¿Γ∞   ½εíδÑ
  1557.  ñ¿αÑ¬Γ¿óδ, ¬«Γ«αδѠѼπ ΓαÑíπεΓß∩, íѺ ó¼ÑΦáΓѽ∞ßΓóá ñαπú¿σ ¬«¼-
  1558.  »¿½∩Γ«α«ó, ¬«Γ«αδÑ »«ññÑনóáεΓ #pragma.  Å«-«»αÑñѽѡ¿ε,  Ñß½¿
  1559.  ¬«¼»¿½∩Γ«α ¡Ñ «»«º¡á½ ¿¼∩ ñ¿αÑ¬Γ¿óδ,  «¡  ¿ú¡«α¿απÑΓ  ñ¿αÑ¬Γ¿óπ
  1560.  pragma.
  1561.  
  1562.                              - 27 -
  1563.  
  1564.  
  1565.  
  1566.  
  1567.       1.14.6.1. #pragma inline
  1568.  
  1569.  
  1570.       Turbo-C αáß»«º¡áÑΓ ñóÑ ñ¿αÑ¬Γ¿óδ #pragma. ÅÑαóá∩:
  1571.  
  1572.       #pragma inline
  1573.  
  1574.       ¥Γá ñ¿αÑ¬Γ¿óá φ¬ó¿óá½Ñ¡Γ¡á «»µ¿¿ ¬«¼»¿½∩Γ«αá -B. Ä¡á ß««í-
  1575.  ΘáÑΓ ¬«¼»¿½∩Γ«απ « Γ«¼, τΓ« ó óáΦÑ⌐ »α«úαἼѠ»α¿ßπΓßΓóπεΓ  áß-
  1576.  ßѼí½Ñα«ó߬¿Ñ ¼áΦ¿¡¡δÑ ¬«¼á¡ñδ. ì´πτΦÑÑ ÑÑ »«½«ªÑ¡¿Ñ - ó  ¡á-
  1577.  τá½Ñ Σá⌐½á, Γ.¬. ¬«¼»¿½∩Γ«α  ßἫ»ÑαѺá»π߬áÑΓß∩  ß  «»µ¿Ñ⌐  -B
  1578.  ßαáºπ, ¬á¬ Γ«½∞¬« óßΓαÑΓ¿Γß∩ #pragma inline. ìá ßἫ¼ ñѽÑ,  óδ
  1579.  ¼«ªÑΓÑ «»πßΓ¿Γ∞ ¿ «»µ¿ε -B, ¿ ñ¿αÑ¬Γ¿óπ  #pragma  inline,  Γ.¬.
  1580.  ¬«¼»¿½∩Γ«α óßÑ αáó¡« ß«¼«»ÑαѺá»π߬áÑΓß∩, ¬á¬  Γ«½∞¬«  óßΓαÑΓ¿Γ
  1581.  asm-«»ÑαáΓ«αδ; µÑ½∞ε φΓ«⌐ «»µ¿¿ ¿ ñ¿αÑ¬Γ¿óδ  ∩ó½∩ÑΓß∩  φ¬«¡«¼¿∩
  1582.  óαѼѡ¿ ¬«¼»¿½∩µ¿¿.
  1583.  
  1584.  
  1585.       1.14.6.2. #pragma warn
  1586.  
  1587.  
  1588.       äαπúá∩ #pragma-ñ¿αÑ¬Γ¿óá - φΓ«
  1589.  
  1590.       pragma warn
  1591.  
  1592.       äá¡¡á∩ ñ¿αÑ¬Γ¿óá »«ºó«½∩ÑΓ óá¼ ¡Ñ  »α¿¡¿¼áΓ∞  ó«  ó¡¿¼á¡¿Ñ
  1593.  ß»Ñµ¿á½∞¡πε «»µ¿ε ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ -wxxx («»µ¿∩ ó¬½ετÑ¡¿∩  ß»Ñ-
  1594.  µ¿á½∞¡δσ »αÑñπ»αÑñ¿Γѽ∞¡δσ ß««íΘÑ¡¿⌐).
  1595.  
  1596.       ìá»α¿¼Ñα, Ñß½¿ óáΦá ¿ßσ«ñ¡á∩ »α«úαá¼¼á ß«ñÑαª¿Γ ñ¿αÑ¬Γ¿óδ:
  1597.  
  1598.       #pragma warn +xxx
  1599.       #pragma warn -yyy
  1600.       #pragma warn .zzz
  1601.  
  1602.       Γ« xxx ó¬½ετ¿Γ óδñáτπ  »αÑñπ»αÑñ¿Γѽ∞¡δσ  ß««íΘÑ¡¿⌐  (Ñß½¿
  1603.  ñáªÑ ó »«ñ¼Ñ¡ε O/C/Errors/ «¡á íδ½á  ó䬽ετÑ¡á);  yyy  ó䬽ετ¿Γ
  1604.  óδñáτπ ß««íΘÑ¡¿⌐; á zzz  ó«ßßΓá¡«ó¿Γ  »Ñαó«¡áτá½∞¡«Ñ  º¡áτÑ¡¿Ñ,
  1605.  ¬«Γ«α«Ñ í佫 ó ¡áτá½Ñ ¬«¼»¿½∩µ¿¿ Σá⌐½á.
  1606.  
  1607.       Ä¬«¡τáΓѽ∞¡δ⌐ ß»¿ß«¬ 3-íπ¬óÑ¡¡δσ áííαÑó¿áΓπα ¿  ß««íΘÑ¡¿⌐,
  1608.  ¬«Γ«αδÑ «¡¿ ó¬½ετáεΓ  ¿  ó䬽ετáεΓ,  »α¿óÑñÑ¡  ó  Åα¿½«ªÑ¡¿¿  3
  1609.  æß佫τ¡«ú« Éπ¬«ó«ñßΓóá »« Turbo-C.
  1610.  
  1611.  
  1612.       1.14.7. ìπ½Ñóá∩ ñ¿αÑ¬Γ¿óá (ANSI C 3.7)
  1613.  
  1614.  
  1615.       Éáñ¿ ºáóÑαΦÑ¡¡«ßΓ¿, ANSI-ßΓá¡ñáαΓ ¿ Turbo-C «»«º¡áεΓ  »πß-
  1616.  Γπε ñ¿αÑ¬Γ¿óπ, ß«ßΓ«∩Θπε ¿º ßΓ᫬¿, ß«ñÑαªáΘÑ⌐ »α«ßΓ«  º¡á¬  #.
  1617.  ¥Γá ñ¿αÑ¬Γ¿óá óßÑúñá ¿ú¡«α¿απÑΓß∩.
  1618.  
  1619.  
  1620.  
  1621.  
  1622.                              - 28 -
  1623.  
  1624.  
  1625.  
  1626.  
  1627.       1.14.8. éßΓα«Ñ¡¡δÑ ¼á¬α«-¿¼Ñ¡á
  1628.  
  1629.  
  1630.       ANSI-ßΓá¡ñáαΓ ΓαÑíπÑΓ 5 óßΓα«Ñ¡¡δσ ¼á¬α«ß«ó. Turbo-C  »α¿-
  1631.  ¼Ñ¡∩ÑΓ óßÑ 5. ÄΓ¼ÑΓ¿¼, τΓ« ¬áªñδ⌐ ¿º ¡¿σ ¡áτ¿¡áÑΓß∩  ¿  «¬á¡τ¿-
  1632.  óáÑΓß∩ ß¿¼ó«½«¼ »«ñτÑનóá¡¿∩ (__).
  1633.  
  1634.  _LINE_
  1635.         ì«¼Ñα «íαáíáΓδóáѼ«⌐ ßΓ᫬¿ ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ  -  ñÑß∩-
  1636.         Γ¿τ¡á∩ ¬«¡ßΓá¡Γá. ÅÑαóá∩ ßΓα«¬á ¿ßσ«ñ¡«ú« Σá⌐½á  «»αÑñÑ-
  1637.         ½Ñ¡á ¬á¬ 1.
  1638.  
  1639.  _FILE_
  1640.         ê¼∩ «íαáíáΓδóáѼ«ú« ¿ßσ«ñ¡«ú« Σá⌐½á - ½¿ΓÑα¡á∩ ßΓ᫬á.
  1641.  
  1642.         äá¡¡«Ñ ¼á¬α««»αÑñѽѡ¿Ñ ¿º¼Ñ¡∩ÑΓß∩ óß∩¬¿⌐ αáº, ¬á¬  ¬«¼-
  1643.         »¿½∩Γ«α «íαáíáΓδóáÑΓ ñ¿αÑ¬Γ¿óπ  #include  ¿½¿  ñ¿αÑ¬Γ¿óπ
  1644.         line, ¿½¿ ¬«úñᠺᬫ¡τ¿½ß∩ #include-Σá⌐½.
  1645.  
  1646.  _DATE_
  1647.         äáΓá ¡áτá½á «íαáí«Γ¬¿ ΓѬπΘÑú« ¿ßσ«ñ¡«ú« Σá⌐½á -  ½¿ΓÑα-
  1648.         ¡á∩ ßΓ᫬á.
  1649.  
  1650.         èáªñ«Ñ óσ«ªñÑ¡¿Ñ _DATE_ ó ºáñá¡¡δ⌐ Σá⌐½ úáαá¡Γ¿απÑΓ «ñ¡«
  1651.         º¡áτÑ¡¿Ñ, ¡Ñºáó¿ß¿¼« «Γ Γ«ú«, ¬á¬ ñ«½ú« πªÑ »α«ñ«½ªáÑΓß∩
  1652.         «íαáí«Γ¬á. äáΓá ¿¼ÑÑΓ Σ«α¼áΓ mmmddyyyy, úñÑ mmm -  ¼Ñß∩µ
  1653.         (Jan, Feb ¿ Γ.ñ.), dd - τ¿ß½« ΓѬπΘÑú« ¼Ñß∩µá (1...31; ó
  1654.         1-«⌐ ¿º ñóπσ »«º¿µ¿⌐  dd  ßΓáó¿Γß∩  »α«íѽ,  Ñß½¿  τ¿ß½«
  1655.         ¼Ñ¡∞ΦÑ 10), yyyy - ú«ñ (1987, 1988 ¿ Γ.ñ.).
  1656.  
  1657.  _TIME_
  1658.         éαѼ∩ ¡áτá½á «íαáí«Γ¬¿ ΓѬπΘÑú« ¿ßσ«ñ¡«ú« Σá⌐½á - ½¿ΓÑα-
  1659.         ¡á∩ ßΓ᫬á.
  1660.  
  1661.         èáªñ«Ñ óσ«ªñÑ¡¿Ñ _TIME_ ó ºáñá¡¡δ⌐ Σá⌐½ úáαá¡Γ¿απÑΓ «ñ¡«
  1662.         º¡áτÑ¡¿Ñ, ¡Ñºáó¿ß¿¼« «Γ Γ«ú«, ¬á¬ ñ«½ú« πªÑ »α«ñ«½ªáÑΓß∩
  1663.         «íαáí«Γ¬á. éαѼ∩ ¿¼ÑÑΓ Σ«α¼áΓ hh:mm:ss,  úñÑ  hh  -  τáß
  1664.         (00...23),   mm  -  ¼¿¡πΓδ  (00...59),  ss   -   ßѬπ¡ñδ
  1665.         (00...59).
  1666.  
  1667.  _STDC_
  1668.         è«¡ßΓá¡Γá, αáó¡á∩ 1, Ñß½¿ óδ ¬«¼»¿½¿απÑΓÑ ß  Σ½áú«¼  -a,
  1669.         ¬«Γ«αδ⌐ πßΓá¡áó½¿óáÑΓ  ß«ó¼ÑßΓ¿¼«ßΓ∞  ß  ANSI-ßΓá¡ñáαΓ«¼
  1670.         (ANSI keywords only ... ON); ¿¡áτÑ  ¼á¬α««»αÑñѽѡ¿Ñ  ¡Ñ
  1671.         «»αÑñѽѡ«.
  1672.  
  1673.  
  1674.       1.14.9. éßΓα«Ñ¡¡δÑ ¼á¬α«ßδ Turbo-C
  1675.  
  1676.  
  1677.       ÅαÑ»α«µÑßß«α Turbo-C «»αÑñѽ∩ÑΓ  αẽ¿τ¡δÑ  ñ«»«½¡¿Γѽ∞¡δÑ
  1678.  ¼á¬α«ßδ. ÆᬪÑ, ¬á¬ ñ½∩ ¼á¬α«ß«ó, »αÑñ»¿ßá¡¡δσ ANSI-ßΓá¡ñáαΓ«¼,
  1679.  ¬áªñδ⌐ ¿º ¡¿σ ¡áτ¿¡áÑΓß∩ ¿ «¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼  »«ñτÑનóá¡¿∩
  1680.  (__).
  1681.  
  1682.                              - 29 -
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  _TURBOC_
  1689.         éδñáτá ¡«¼Ñαá ΓѬπΘÑ⌐ óÑαß¿¿ Turbo-C -  ΦÑß¡áñµáΓÑα¿τ¡á∩
  1690.         ¬«¡ßΓá¡Γá. éÑαß¿∩ 1.0 »αÑñßΓáó½∩ÑΓß∩ ¬á¬ 0x0100;  óÑαß¿∩
  1691.         1.2 - ¬á¬ 0x0102 ¿ Γ.ñ.
  1692.  
  1693.  _PASCAL_
  1694.         Ä»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ Σ½áúá -p;  πßΓá¡áó½¿óáÑΓß∩  ó  µÑ½πε
  1695.         ¬«¡ßΓá¡Γπ, αáó¡πε 1, Ñß½¿ ¿ß»«½∞ºπÑΓß∩ Σ½áú -p; ¿¡áτÑ ¡Ñ
  1696.         «»αÑñѽѡ«.
  1697.  
  1698.  _MSDOS_
  1699.         ûѽá∩ ¬«¡ßΓá¡Γá, αáó¡á∩ 1.
  1700.  
  1701.  _CDECL_
  1702.         Ä»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ Σ½áúá -p;  πßΓá¡áó½¿óáÑΓß∩  ó  µÑ½πε
  1703.         ¬«¡ßΓá¡Γπ, αáó¡πε 1, Ñß½¿ Σ½áú -p ¡Ñ ¿ß»«½∞ºπÑΓß∩; ¿¡áτÑ
  1704.         ¡Ñ «»αÑñѽѡ«.
  1705.  
  1706.       æ½ÑñπεΘ¿Ñ 6 ¼á¬α«ß«ó ºáó¿ß∩Γ «Γ óδíαá¡¡«⌐  ñ½∩  ¬«¼»¿½∩µ¿¿
  1707.  ¼«ñѽ¿ »á¼∩Γ¿. ä½∩ ½εí«⌐ ¬«¼»¿½∩µ¿¿ «»αÑñѽѡ ¼«ªÑΓ íδΓ∞ Γ«½∞¬«
  1708.  «ñ¿¡   ¿º  ¡¿σ;  «ßΓá½∞¡δÑ  (»«-«»αÑñѽѡ¿ε)   ¡Ñ   «»αÑñѽѡδ.
  1709.  ìá»α¿¼Ñα, Ñß½¿ óδ ¬«¼»¿½¿απÑΓÑ ß ¼á½Ñ¡∞¬«⌐ ¼«ñѽ∞ε,  «»αÑñѽѡ«
  1710.  _SMALL_,   á   «ßΓá½∞¡δÑ   -   ¡ÑΓ;   »«φΓ«¼π   ñ¿αÑ¬Γ¿óá   #if
  1711.  defined(_SMALL_) íπñÑΓ ¿¼ÑΓ∞ º¡áτÑ¡¿Ñ true(óÑα¡«), ó  Γ«  óαѼ∩
  1712.  ¬á¬ #if defined(_HUGE_) (¿½¿ ½εíá∩ ñαπúá∩) íπñÑΓ ¿¼ÑΓ∞ º¡áτÑ¡¿Ñ
  1713.  fulse(½«ª¡«). äÑ⌐ßΓó¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ ñ½∩ ½εí«ú«  «»αÑñѽѡ¡«ú«
  1714.  ¼á¬α««»αÑñѽѡ¿∩ αáó¡« 1.
  1715.  
  1716.  _TINY_
  1717.         Ä»µ¿¿ óδí«αá ¬α«ΦÑτ¡«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  1718.  
  1719.  _SMALL_
  1720.         Ä»µ¿¿ óδí«αá ¼á½Ñ¡∞¬«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  1721.  
  1722.  _MEDIUM_
  1723.         Ä»µ¿¿ óδí«αá ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  1724.  
  1725.  _COMPACT_
  1726.         Ä»µ¿¿ óδí«αá ¬«¼»á¬Γ¡«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.                              - 30 -
  1743.  
  1744.  
  1745.  
  1746.  
  1747.                     2. î«ñѽ¿ »á¼∩Γ¿ Turbo-C
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.       Turbo-C »«ññÑনóáÑΓ ΦÑßΓ∞ αẽ¿τ¡δσ ¼«ñѽÑ⌐ »á¼∩Γ¿: tiny,
  1754.  small, medium, compact, large ¿ huge.
  1755.  
  1756.  tiny
  1757.         ¥Γ« ßá¼á∩ ¼á½á∩ ¼«ñѽ∞ »á¼∩Γ¿. éßÑ τÑΓδαÑ αÑú¿ßΓαá ( CS,
  1758.         DS, SS, ES) ß«ñÑαªáΓ «ñ¿¡ ¿ Γ«Γ ªÑ  áñαÑß,  »«φΓ«¼π  64è
  1759.         óδñѽ∩εΓß∩ ñ½∩ σαá¡Ñ¡¿∩ ¬«ñá, ñá¡¡δσ ¿ ¼áßß¿ó«ó.  éßÑúñá
  1760.         ¿ß»«½∞ºπεΓß∩ π¬áºáΓѽ¿ Γ¿»á near. Åα«úαá¼¼δ,  ¿ß»«½∞ºπε-
  1761.         Θ¿Ñ ¼«ñѽ∞ »á¼∩Γ¿ tiny, ¼«úπΓ íδΓ∞ »αÑ«íαẫóá¡δ ¬  Σ«α-
  1762.         ¼áΓπ .COM.
  1763.  
  1764.       ìá »α¿óÑñÑ¡¡«¼ ¡¿ªÑ α¿ßπ¡¬Ñ »«¬áºá¡« αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿.
  1765.  
  1766.  æÑú¼Ñ¡Γ¡δÑ                                  ÉẼÑα
  1767.  αÑú¿ßΓαδ                                    ßÑú¼Ñ¡Γá
  1768.                    +------------------------+
  1769.  CS, DS, ES, SS ---|         DGROUP         | ñ« 64è íá⌐Γ
  1770.                    +------------------------+
  1771.                    |  _TEXT ¬½áßß 'DATA'    |
  1772.                    |        ¬«ñ             |
  1773.                    +------------------------+
  1774.                    |  _DATA ¬½áßß 'DATA'    |
  1775.                    |  ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ    |
  1776.                    |         ñá¡¡δÑ         |
  1777.                    +------------------------+
  1778.                    |  _BSS ¬½áßß 'BSS'      |
  1779.                    |  ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ    |
  1780.                    |         ñá¡¡δÑ         |
  1781.                    +------------------------+
  1782.                    |          èπτá          |
  1783.              SP ---+------------------------+
  1784.                    |          æΓѬ          |
  1785.                    +------------------------+
  1786.  
  1787.                  æÑú¼Ñ¡Γᵿ∩ »á¼∩Γ¿ ¼«ñѽ¿ tiny
  1788.  
  1789.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. Ä»¿ßá¡¿Ñ «ßΓá½∞¡δσ ¼«ñѽÑ⌐ »á¼∩Γ¿ »α¿óÑñÑ-
  1790.  ¡« ó æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »« ¬«¼»¿½∩Γ«απ MSC.
  1791.  
  1792.  
  1793.       2.1.   êß»«½∞º«óá¡¿Ñ    ß¼ÑΦá¡¡δσ    ¼«ñѽÑ⌐    »á¼∩Γ¿:
  1794.            ¼«ñ¿Σ¿¬áΓ«αδ áñαÑßᵿ¿
  1795.  
  1796.  
  1797.       Turbo-C »«ññÑনóáÑΓ ßѼ∞ ¡«óδ󠬽ετÑóδσ  ß½«ó,  ¡Ñ«»αÑñÑ-
  1798.  ½Ñ¡¡δσ ó K&R ¿ ßΓá¡ñáαΓÑ ANSI: near, far, huge, _cs, _ds,  _es,
  1799.  _ss. Ä¡¿ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ß «»αÑñѽѡ¡δ¼¿  «úαá¡¿τÑ¡¿∩¼¿
  1800.  ¬á¬ ¼«ñ¿Σ¿¬áΓ«αδ ñ½∩ π¬áºáΓѽÑ⌐  (¿  ó  ¡Ñ¬«Γ«αδσ  ß½πτá∩σ  ñ½∩
  1801.  
  1802.                              - 31 -
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  Σπ¡¬µ¿⌐).
  1808.  
  1809.       é Turbo-C ¼«ª¡« ¿º¼Ñ¡∩Γ∞ Σπ¡¬µ¿¿ ¿ π¬áºáΓѽ¿  ß  ¬½ετÑó묨
  1810.  ß½«óἿ near, far ¿½¿ huge. è Σπ¡¬µ¿∩¼ Γ¿»á near (far,huge) «í-
  1811.  αáΘáεΓß∩ ß »«¼«Θ∞ε near (far, huge) ó맮ó«ó  ¿  «¡¿  ó«ºóαáΘáεΓ
  1812.  Γ¿» near (far, huge).
  1813.  
  1814.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. öπ¡¬µ¿¿ Γ¿»á huge ¼«úπΓ πßΓá¡«ó¿Γ∞ αÑú¿ßΓ-
  1815.  αÑ DS ó ¡«ó«Ñ º¡áτÑ¡¿Ñ, ó «Γ½¿τ¿Ñ «Γ Σπ¡¬µ¿⌐ «ßΓá½∞¡δσ Γ¿»«ó.
  1816.  
  1817.       ä½∩ ñá¡¡δσ,  ¿¼ÑεΘ¿σ  Γ¿»  near,  ßπΘÑßΓóπεΓ  τÑΓδαÑ  ß»Ñ-
  1818.  µ¿á½∞¡δσ π¬áºáΓѽ∩: _cs, _ds, _ss ¿ _es. ¥Γ« 16-í¿Γ«óδÑ  π¬áºá-
  1819.  Γѽ¿, ¬«Γ«αδÑ «ß«íδ¼ «íαẫ¼ ßó∩ºá¡δ  ß  ß««ΓóÑΓßΓóπεΘ¿¼¿  ßÑú-
  1820.  ¼Ñ¡Γ¡δ¼¿ αÑú¿ßΓαἿ. ìá»α¿¼Ñα, Ñß½¿ «íΩ∩ó¿Γ∞
  1821.  
  1822.       char _ss *p;
  1823.  
  1824.  Γ« p ß«ñÑαª¿Γ 16-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ ó ßΓѬ«ó«¼ ßÑú¼Ñ¡ΓÑ.
  1825.  
  1826.       öπ¡¬µ¿¿ ¿ π¬áºáΓѽ¿ ó »α«úαἼѠíπñπΓ »«  π¼«½τá¡¿ε  ¿¼ÑΓ∞
  1827.  Γ¿» near ¿½¿  far,  ó  ºáó¿ß¿¼«ßΓ¿  «Γ  óδíαá¡¡«⌐  óἿ  ¼«ñѽ¿
  1828.  »á¼∩Γ¿. àß½¿ Σπ¡¬µ¿∩ ¿½¿ π¬áºáΓѽ∞ ¿¼ÑÑΓ Γ¿» near, Γ« «¡¿ áóΓ«-
  1829.  ¼áΓ¿τÑ߬¿ ßó∩ºδóáεΓß∩ ß αÑú¿ßΓα«¼ CS ¿½¿ DS.
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.                              - 32 -
  1863.  
  1864.  
  1865.  
  1866.  
  1867.        3. êß»«½∞º«óá¡¿Ñ αẽ¿τ¡δσ ∩ºδ¬«ó »α«úαá¼¼¿α«óá¡¿∩
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.       3.1. æ¼ÑΦÑ¡¿Ñ ∩ºδ¬«ó »α«úαá¼¼¿α«óá¡¿∩: ¿¡ΓÑαΣÑ⌐ß
  1875.  
  1876.  
  1877.         Turbo-C  »«ºó«½∩ÑΓ  ¿º  »α«úαá¼¼  ¡á  C   «íαáΘáΓ∞ß∩   ¬
  1878.  »α«úαá¼¼á¼, ¡á»¿ßá¡¡δ¼ ¡á ñαπú¿σ ∩ºδ¬áσ, ¿ ¡á«í«α«Γ.  é  ñá¡¡«¼
  1879.  »«ñαáºñѽѠαáßß¼«ΓαÑ¡ ¿¡ΓÑαΣÑ⌐ß Turbo-C ß ñαπú¿¼¿ ∩ºδ¬á¼¿.
  1880.  
  1881.  
  1882.       3.1.1.  Å«ß½Ññ«óáΓѽ∞¡«ßΓ¿  »ÑαÑñáτ¿  »áαá¼ÑΓα«ó:  C  ¿
  1883.              Åá߬á½∞
  1884.  
  1885.  
  1886.       Turbo-C »«ññÑনóáÑΓ  ñóá  ¼ÑΓ«ñá  »ÑαÑñáτ¿  »áαá¼ÑΓα«ó  ó
  1887.  Σπ¡¬µ¿ε: ßΓá¡ñáαΓ¡δ⌐ C-¼ÑΓ«ñ ¿ »á߬á½Ñó߬¿⌐ ¼ÑΓ«ñ.
  1888.  
  1889.  
  1890.       3.1.1.1.   C-»«ß½Ññ«óáΓѽ∞¡«ßΓ∞   »ÑαÑñáτ¿   »áαá¼ÑΓα«ó
  1891.                (ß«ú½áΦÑ¡¿Ñ ó맮óá)
  1892.  
  1893.  
  1894.       ÅαÑñ»«½«ª¿¼ óδ «íΩ∩󿽿 ß½ÑñπεΘ¿⌐ »α«Γ«Γ¿» Σπ¡¬µ¿¿:
  1895.  
  1896.       void funca(int p1, int p2, int p3);
  1897.  
  1898.       Å« π¼«½τá¡¿ε, Turbo-C ¿ß»«½∞ºπÑΓ C-»«ß½Ññ«óáΓѽ∞¡«ßΓ∞  »Ñ-
  1899.  αÑñáτ¿ »áαá¼ÑΓα«ó. Åα¿ «íαáΘÑ¡¿¿ ¬ ñá¡¡«⌐ Σπ¡¬µ¿¿ (funca) »áαá-
  1900.  ¼ÑΓαδ »«¼ÑΘáεΓß∩ ó ßΓѬ ó »«α∩ñ¬Ñ ß»αáóá-¡á½Ñó« (p3,  p2,  p1),
  1901.  ß½Ññ«¼ ºá »áαá¼ÑΓαἿ ó ßΓѬ »«¼ÑΘáÑΓß∩ áñαÑß  ó«ºóαáΓá.  Éáßß-
  1902.  ¼«Γα¿¼ Σαáú¼Ñ¡Γ »α«úαá¼¼δ:
  1903.  
  1904.          main()
  1905.          {
  1906.                  int i, j;
  1907.                  long k;
  1908.                  . . .
  1909.                  i=5; j=7; k=0x1407AA;
  1910.                  funca(i,j,k)
  1911.                  . . .
  1912.          }
  1913.  
  1914.       æΓѬ íπñÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  1915.  
  1916.          SP + 06:        0014
  1917.          SP + 04:        07AA   k=p3
  1918.          SP + 02         0007   j=p2
  1919.          SP              0005   i=p1
  1920.  
  1921.  
  1922.                              - 33 -
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  Å_α_¿_¼_Ñ_τ_á_¡_¿_Ñ. æΓѬ αáßΓÑΓ ßóÑασπ ó¡¿º, »«φΓ«¼π i - ΓѬπ-
  1928.  Θ¿⌐ "óÑασ" ßΓѬá.
  1929.  
  1930.       éδºδóáεΘá∩ »α«úαἼᠡѠóδí¿αáÑΓ »áαá¼ÑΓαδ ¿º  ßΓѬá,  φΓ«
  1931.  íπñÑΓ ñѽáΓ∞ óδºδóáѼá∩ »α«úαá¼¼á.
  1932.  
  1933.       Éáßß¼«Γα¿¼ Σαáú¼Ñ¡Γ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá, ¬«Γ«αδ⌐
  1934.  »«½πτÑ¡ »α¿ ¬«¼»¿½∩µ¿¿ ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ C, »α¿óÑñÑ¡-
  1935.  ¡«⌐ óδΦÑ.
  1936.  
  1937.          mov     word prt [bp-8],5     ; ôßΓá¡«ó¬á i=5
  1938.          mov     word prt [bp-6],7     ; j=7
  1939.          mov     word prt [bp-4],0014h ; k=0x1407AA
  1940.          mov     word prt [bp-2],07AAh
  1941.          push    word prt [bp-2]       ; Å«¼ÑΘáѼ π¬áºáΓѽ∞
  1942.                                  ; ßΓѬᠡá ßΓáαΦÑÑ ß½«ó« k
  1943.          push    word prt [bp-4]       ; Å«¼ÑΘáѼ π¬áºáΓѽ∞
  1944.                                  ; ßΓѬᠡᠼ½áñΦÑÑ ß½«ó« k
  1945.          push    word prt [bp-6]  ; ô¬áºáΓѽ∞ ßΓѬá - ¡á j
  1946.          push    word prt [bp-8]  ; ô¬áºáΓѽ∞ ßΓѬá - ¡á i
  1947.          call    near prt funca   ; é맮ó Σπ¡¬µ¿¿ funca
  1948.          add     sp,8             ; ôßΓá¡«ó¬á ßΓѬá
  1949.  
  1950.  
  1951.       Å«ß½Ññ¡∩∩ ¬«¼á¡ñá add sp,8. é ñá¡¡«⌐ Γ«τ¬Ñ ¬«¼»¿½∩Γ«α  πº-
  1952.  ¡áÑΓ Γ«τ¡« ß¬«½∞¬« »áαá¼ÑΓα«ó í佫 »«¼ÑΘÑ¡« ó ßΓѬ; πº¡áÑΓ  áñ-
  1953.  αÑß ó«ºóαáΓá, ¬«Γ«αδ⌐ íδ½ »«¼ÑΘÑ¡ ó ßΓѬ »«ßαÑñßΓó«¼  «íαáΘÑ¡¿∩
  1954.  ¬ funca.
  1955.  
  1956.  
  1957.       3.1.1.2.   Åá߬á½Ñó߬á∩   »«ß½Ññ«óáΓѽ∞¡«ßΓ∞   »ÑαÑñáτ¿
  1958.                »áαá¼ÑΓα«ó (ß«ú½áΦÑ¡¿Ñ ó맮óá)
  1959.  
  1960.  
  1961.       äá¡¡δ⌐ ¼ÑΓ«ñ ¡Ñ «º¡áτáÑΓ, τΓ« óδ ¼«ªÑΓÑ  óδºδóáΓ∞  Σπ¡¬µ¿¿
  1962.  Turbo-Åá߬á½∩ ¿º Turbo-C.
  1963.  
  1964.       àß½¿ Σπ¡¬µ¿∩ «íΩ∩ó½Ñ¡á ¬á¬
  1965.  
  1966.          void pascal funca(int p1, int p2, int p3);
  1967.  
  1968.  »α¿ «íαáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »«¼ÑΘáÑΓ »áαá¼ÑΓαδ ó
  1969.  ßΓѬ ß½Ñóá-¡á»αáó«, Γ.Ñ. ó »«α∩ñ¬Ñ (p1, p2, p3). çáΓѼ  ó  ßΓѬ
  1970.  »«¼ÑΘáÑΓß∩ áñαÑß ó«ºóαáΓá.
  1971.  
  1972.       Éáßß¼«Γα¿¼ Σαáú¼Ñ¡Γ »α«úαá¼¼δ:
  1973.  
  1974.          main()
  1975.          {
  1976.                  int i, j;
  1977.                  long k;
  1978.                  . . .
  1979.                  i=5; j=7; k=0x1407AA;
  1980.                  funca(i,j,k)
  1981.  
  1982.                              - 34 -
  1983.  
  1984.  
  1985.  
  1986.  
  1987.                  . . .
  1988.          }
  1989.  
  1990.       æΓѬ íπñÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  1991.  
  1992.          SP + 06:        0005   i=p1
  1993.          SP + 04:        0007   j=p2
  1994.          SP + 02         0014
  1995.          SP              07AA   k=p3
  1996.  
  1997.  
  1998.       Åá߬á½Ñó߬á∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »ÑαÑñáτ¿ »áαá¼ÑΓα«ó  »αÑñ-
  1999.  »«½áúáÑΓ, τΓ« óδºóá¡¡«⌐ »α«úαἼѠ(funca) ¿ºóÑßΓ¡« ß¬«½∞¬«  »á-
  2000.  αá¼ÑΓα«ó »ÑαÑñáÑΓß∩, ¿ ó ß««ΓóÑΓßΓó¿¿ ß φΓ¿¼ ºá»«½¡∩ÑΓß∩  ßΓѬ.
  2001.  äαπú¿¼¿ ß½«óἿ, ¡á ∩ºδ¬Ñ áßßѼí½Ñαá «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿  funca
  2002.  íπñÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  2003.  
  2004.          push    word prt [bp-8]    ; Å«¼ÑΘáѼ i
  2005.          push    word prt [bp-6]    ; Å«¼ÑΘáѼ j
  2006.          push    word prt [bp-4]    ; Å«¼ÑΘáѼ ßΓáαΦÑÑ
  2007.                                  ; ß½«ó« k
  2008.          push    word prt [bp-2]       ; Å«¼ÑΘáѼ
  2009.                                  ; ¼½áñΦÑÑ ß½«ó« k
  2010.          call    near prt funca   ; é맮ó Σπ¡¬µ¿¿ funca
  2011.                                  (»«¼ÑΘáѼ áñαÑß ó«ºóαáΓá)
  2012.  
  2013.       çá¼ÑΓ¿¼, τΓ« ó ñá¡¡«¼ ß½πτáÑ «ΓßπΓßΓóπÑΓ ¬«¼á¡ñá add  sp,8
  2014.  »«ß½Ñ ó맮óá. é¼ÑßΓ« φΓ«ú« funca ¿ß»«½∞ºπÑΓ ¬«¼á¡ñπ ret 8,  ñ½∩
  2015.  Γ«ú« τΓ«íδ «τ¿ßΓ¿Γ∞ ßΓѬ »ÑαÑñ ó«ºóαáΓ«¼ ó main.
  2016.  
  2017.       Å« π¼«½τá¡¿ε óßÑ Σπ¡¬µ¿¿ Turbo-C ¿ß»«½∞ºπεΓ C-¼ÑΓ«ñ  »ÑαÑ-
  2018.  ñáτ¿ »áαá¼ÑΓα«ó. àß½¿ óδ ¿ß»«½∞ºπÑΓÑ Σ½áú -p »α¿ ¬«¼»¿½∩µ¿¿,  ó
  2019.  φΓ«¼ ß½πτáÑ óßÑ  Σπ¡¬µ¿¿  ¿ß»«½∞ºπεΓ  »á߬á½Ñó߬¿⌐  ¼ÑΓ«ñ.  ä½∩
  2020.  Γ«ú«, τΓ«íδ ºáñáΓ∞ ¿ß»«½∞º«óá¡¿Ñ C-¼ÑΓ«ñá ñ½∩ ¬á¬«⌐-ñ¿í«  Σπ¡¬-
  2021.  µ¿¿, ¿ß»«½∞ºπ⌐ΓÑ ¼«ñ¿Σ¿¬áΓ«α cdecl.
  2022.  
  2023.       ìá»α¿¼Ñα,
  2024.  
  2025.          void cdecl funca(int p1, int p2, int p3);
  2026.  
  2027.       Åá߬á½Ñó߬¿⌐ ¼ÑΓ«ñ ¿ß»«½∞ºπÑΓß∩ ó ß½ÑñπεΘ¿σ ß½πτá∩σ:
  2028.  
  2029.  1)     Åα¿ ¿ß»«½∞º«óá¡¿¿ ó맮ó«ó ßπΘÑßΓóπεΘ¿σ »α«úαá¼¼  ¡á  áß-
  2030.         ßѼí½ÑαÑ, ¿ß»«½∞ºπεΘ¿σ ñá¡¡«Ñ ß«ú½áΦÑ¡¿Ñ ó맮óá
  2031.  
  2032.  2)     Åα¿ ¿ß»«½∞º«óá¡¿¿ »α«úαá¼¼, ¡á»¿ßá¡¡δσ ¡á ñαπú¿σ  ∩ºδ¬áσ
  2033.         »α«úαá¼¼¿α«óá¡¿∩.
  2034.  
  2035.  3)     the calling code produced is slightly smaller, since  it
  2036.         doesn't have to clean up the stack afterwards.
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.                              - 35 -
  2043.  
  2044.  
  2045.  
  2046.  
  2047.       3.1.2. ê¡ΓÑαΣÑ⌐ß ß áßßѼí½Ñα«¼
  2048.  
  2049.  
  2050.  
  2051.       3.1.2.1. ÄíαáΘÑ¡¿∩ ¬ Σá⌐½á¼ .ASM ¿º Turbo-C
  2052.  
  2053.  
  2054.       éδ ¼«ªÑΓÑ »¿ßáΓ∞ áßßѼí½Ñα«ó߬¿Ñ »α«úαá¼¼δ  ¬á¬  «Γñѽ∞¡δÑ
  2055.  ¼«ñπ½¿, ñ½∩ Γ«ú« τΓ«íδ ó »«ß½ÑñßΓó¿¿ ¿σ ßó∩ºδóáΓ∞ ß  C-»α«úαá¼-
  2056.  ¼á¼¿. Äñ¡á¬«, ßπΘÑßΓóπεΓ «»αÑñѽѡ¡δÑ  ß«ú½áΦÑ¡¿∩,  ¬«Γ«αδ¼  óδ
  2057.  ñ«½ª¡δ ß½Ññ«óáΓ∞, ñ½∩ Γ«ú« τΓ«íδ:
  2058.  
  2059.  1)     íδΓ∞ πóÑαÑ¡¡δ¼, τΓ« αÑñá¬Γ«α ßó∩ºÑ⌐ »«½πτ¿Γ óßε  ¡Ñ«íσ«-
  2060.         ñ¿¼πε ¿¡Σ«α¼áµ¿ε;
  2061.  
  2062.  2)     íδΓ∞ πóÑαÑ¡¡δ¼, τΓ« Σ«α¼áΓ Σá⌐½á ¡áσ«ñ¿Γß∩ ó  ß««ΓóÑΓßΓ-
  2063.         ó¿¿ ß ¼«ñѽ∞ε »á¼∩Γ¿, ¿ß»«½∞ºπѼ«⌐ óáΦÑ⌐ C-»α«úαá¼¼«⌐.
  2064.  
  2065.  
  2066.                                                        Æáí½¿µá 5
  2067.  
  2068.                     ÄíΘá∩ ßΓαπ¬Γπαá »α«úαá¼¼δ
  2069.  
  2070.  -------------------------------------------------------
  2071.  êñÑ¡Γ¿Σ¿¬áΓ«α   ê¼∩             ê¼∩ Σá⌐½á
  2072.  -------------------------------------------------------
  2073.  <text>          SEGMENT         BYTE PUBLIC 'CODE'
  2074.                  ASSUME          CS: <text>, DS: <dseg>
  2075.                  <...........ßÑú¼Ñ¡Γ ¬«ñá..............>
  2076.  <text>          ENDS
  2077.  
  2078.  <dseg>          GROUP           _DATA, _BSS
  2079.  <data>          SEGMENT         WORD PUBLIC 'DATA'
  2080.                  <..ßÑú¼Ñ¡Γ ¿¡¿µ¿á½¿º¿α«óá¡¡δσ ñá¡¡δσ..>
  2081.  <data>          ENDS
  2082.  
  2083.  _BSS            SEGMENT         WORD PUBLIC 'BSS'
  2084.                  <.ßÑú¼Ñ¡Γ ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡δσ ñá¡¡δσ.>
  2085.  _BSS            ENDS
  2086.  
  2087.  _BSS            END
  2088.  
  2089.       êñÑ¡Γ¿Σ¿¬áΓ«αδ <text>, <data>, <dseg> ó ñá¡¡«⌐ ßσѼѠ¿¼ÑεΓ
  2090.  «ß«íδÑ º¡áτÑ¡¿∩, ºáó¿ß∩Θ¿Ñ «Γ  ¿ß»«½∞ºπѼ«⌐  ¼«ñѽ¿  »á¼∩Γ¿.  é
  2091.  »α¿óÑñÑ¡¡«⌐ ¡¿ªÑ Γáí½¿µÑ π¬áºá¡δ ß««ΓóÑΓßΓóπεΘ¿Ñ  º¡áτÑ¡¿∩  ñ½∩
  2092.  ¬áªñ«⌐ ¼«ñѽ¿ »á¼∩Γ¿; filename ó ñá¡¡«⌐ Γáí½¿µÑ - φΓ« ¿¼∩ ¼«ñπ-
  2093.  ½∩; «¡« ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ ó  ñ¿αÑ¬Γ¿óÑ  NAME  ¿  ß«ñÑন¼«¼
  2094.  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.
  2095.  
  2096.       çá¼ÑΓ¿¼, τΓ« ó ¼«ñѽ¿ huge ¡Ñ ¿ß»«½∞ºπÑΓß∩ ßÑú¼Ñ¡Γ _BSS, ¿
  2097.  «»αÑñѽѡ¿Ñ GROUP »«½¡«ßΓ∞ »α«»πΘÑ¡«.
  2098.  
  2099.       ìá¿í«½ÑÑ πñ«í¡« ß«ºñáΓ∞ Φáí½«¡ ¡á áßßѼí½ÑαÑ, «Γ¬«¼»¿½¿α«-
  2100.  óáó »α«úαá¼¼π, ¿ß»«½∞ºπ∩ TCC ß «»µ¿Ñ⌐  -s,  ¿  »«ß¼«ΓαÑΓ∞  Σá⌐½
  2101.  
  2102.                              - 36 -
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  .ASM, ó ¬«Γ«α«¼ σαá¡¿Γß∩ ßúÑ¡ÑαÑ¡¡δ⌐ áßßѼí½Ñα¡δ⌐ ¬«ñ.
  2108.  
  2109.  
  2110.                                                        Æáí½¿µá 6
  2111.  
  2112.            æ«ñÑন¼«Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ¿ ¼«ñѽ¿ »á¼∩Γ¿
  2113.  
  2114.  ---------------------------------------------------------
  2115.  î«ñѽ∞          æ«ñÑন¼«Ñ              è«ñ ¿ π¬áºáΓѽ¿
  2116.                  ¿¡ñÑ¡Γ¿Σ¿¬áΓ«αá
  2117.  ---------------------------------------------------------
  2118.  tiny, small     <code>=_TEXT          Code: DW _TEXT:xxx
  2119.                  <data>=_DATA          Data: DW DGROUP:xxx
  2120.                  <dseg>=DGOUP
  2121.  
  2122.  compact         <code>=_TEXT          Code: DW _TEXT:xxx
  2123.                  <data>=_DATA          Data: DD DGROUP:xxx
  2124.                  <dseg>=DGOUP
  2125.  
  2126.  medium          <code>=filename_TEXT  Code: DD xxx
  2127.                  <data>=_DATA          Data: DW DGROUP:xxx
  2128.                  <dseg>=DGOUP
  2129.  
  2130.  large           <code>=filename_TEXT  Code: DD xxx
  2131.                  <data>=_DATA          Data: DD DGROUP:xxx
  2132.                  <dseg>=DGOUP
  2133.  
  2134.  huge            <code>=filename_TEXT  Code: DD xxx
  2135.                  <data>=filename_DATA  Data: DD xxx
  2136.                  <dseg>=filename_DATA
  2137.  
  2138.  
  2139.       3.1.2.2. Ä»αÑñѽѡ¿Ñ ¬«¡ßΓá¡Γ ¿ »ÑαѼѡ¡δσ
  2140.  
  2141.  
  2142.       î«ñѽ∞ »á¼∩Γ¿ ó½¿∩ÑΓ ΓᬪѠ¡á «»αÑñѽѡ¿Ñ  ½εíδσ  ¬«¡ßΓá¡Γ
  2143.  ñá¡¡δσ, Γᬿσ ¬á¬ π¬áºáΓѽ¿ ¡á ¬«ñδ, ñá¡¡δÑ.  Åα¿óÑñÑ¡¡á∩  óδΦÑ
  2144.  Γáí½¿µá »«¬áºδóáÑΓ ¬á¬ ñ«½ª¡δ óδú½∩ñÑΓ∞ ΓᬿѠπ¬áºáΓѽ¿; xxx  -
  2145.  áñαÑß, ¡á ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ π¬áºáΓѽ∞. çá¼ÑΓ¿¼,  τΓ«  ¡Ñ¬«Γ«αδÑ
  2146.  π¬áºáΓѽ¿ ¿ß»«½∞ºπεΓ DW (Ä»αÑñѽ∩εΓ ß½«ó«), ó Γ« óαѼ∩ ¬á¬ ñαπ-
  2147.  ú¿Ñ ¿ß»«½∞ºπεΓ DD (Ä»αÑñѽ∩εΓ ñó«⌐¡«Ñ ß½«ó«),  π¬áºáóá∩  αẼÑα
  2148.  αѺπ½∞Γ¿απεΘÑú« π¬áºáΓѽ∩. û¿Σα«óδÑ ¿ ΓѬßΓ«óδÑ ¬«¡ßΓá¡Γδ «»αÑ-
  2149.  ñѽ∩εΓß∩ ßΓá¡ñáαΓ¡δ¼ «íαẫ¼.
  2150.  
  2151.       ÅÑαѼѡ¡δÑ «»αÑñѽ∩εΓß∩ ΓᬪѠ¬á¬ ¿ ¬«¡ßΓá¡Γδ. àß½¿ óδ σ«-
  2152.  Γ¿ΓÑ ºáóÑßΓ¿ »ÑαѼѡ¡δÑ, ¬«Γ«αδÑ ¡Ñ ¿¼ÑεΓ ¡áτá½∞¡«ú«  º¡áτÑ¡¿∩,
  2153.  óδ ñ«½ª¡δ «íΩ∩ó¿Γ∞ ¿σ ó ßÑú¼Ñ¡ΓÑ _BSS, ºáñá󠺡ᬠ(?), ¬«úñá óδ
  2154.  ªÑ½áÑΓÑ óóÑßΓ¿ º¡áτÑ¡¿Ñ.
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.                              - 37 -
  2163.  
  2164.  
  2165.  
  2166.  
  2167.       3.1.2.3.    Ä»αÑñѽѡ¿Ñ    ú½«íá½∞¡δσ     ¿     ó¡ÑΦ¡¿σ
  2168.                ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó.
  2169.  
  2170.  
  2171.       Åα«úαἼᠡá áßßѼí½ÑαÑ ¼«ªÑΓ óδºδóáΓ∞ Σπ¡¬µ¿¿ ¿ ßßδ½áΓ∞ß∩
  2172.  ¡á »ÑαѼѡ¡δÑ Turbo-C.  éßÑ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ  ó  áßßѼí½Ñα«ó߬«⌐
  2173.  »α«úαá¼¼Ñ, ¡á ¬«Γ«αδÑ óδ σ«Γ¿ΓÑ ßßδ½áΓ∞ß∩ ¿º Turbo-C »α«úαá¼¼δ,
  2174.  ñ«½ª¡δ ¡áτ¿¡áΓ∞ß∩ ß ß¿¼ó«½á »«ñτÑનóá¡¿∩ (_).
  2175.  
  2176.       ä½∩ Γ«ú« τΓ«íδ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¿¼∩ »«ñ»α«úαá¼¼δ  ¿½¿  »ÑαÑ-
  2177.  ¼Ñ¡¡á∩ íδ½á ñ«ßΓπ»¡á ¿º-ó¡Ñ óáΦÑú« áßßѼí½Ñα«ó߬«ú« ¼«ñπ½∩,  óδ
  2178.  ñ«½ª¡δ «íΩ∩ó¿Γ∞ ¿σ ¬á¬ PUBLIC. ìá»α¿¼Ñα, Ñß½¿ óδ  ¡á»¿ß὿  ¼«-
  2179.  ñπ½∞, ¬«Γ«αδ⌐ ß«ñÑαª¿Γ µÑ½δÑ Σπ¡¬µ¿¿ min ¿ max  ¿  µÑ½δÑ  »ÑαÑ-
  2180.  ¼Ñ¡¡δÑ MAXINT, lastmax ¿ lastmin, óδ  ñ«½ª¡δ  ó  óáΦѼ  ¬«ñ«ó«¼
  2181.  ßÑú¼Ñ¡ΓÑ ºáñáΓ∞ «»ÑαáΓ«α
  2182.  
  2183.       PUBLIC _min, _max
  2184.  
  2185.  ¿ «»ÑαáΓ«αδ
  2186.  
  2187.  PUBLIC _MAXINT, _lastmax, _lastmin
  2188.  _MAXINT DW 32767
  2189.  _lastmin DW 0
  2190.  _lastmax DW 0
  2191.  
  2192.  
  2193.       3.1.3. ÄíαáΘÑ¡¿∩ ¬ Turbo-C ¿º Σá⌐½á .ASM
  2194.  
  2195.  
  2196.  
  2197.       3.1.3.1. æßδ½¬á ¡á Σπ¡¬µ¿¿
  2198.  
  2199.  
  2200.       àß½¿ óδ σ«Γ¿ΓÑ óδºóáΓ∞ æ-Σπ¡¬µ¿ε ¿º »α«úαá¼¼δ ¡á áßßѼí½Ñ-
  2201.  αÑ, óδ ñ«½ª¡δ ºáñáΓ∞ ó ¼«ñπ½Ñ ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α:
  2202.  
  2203.       EXTRN <fname> : <fdist>
  2204.  
  2205.  úñÑ <fname> - ¿¼∩ Σπ¡¬µ¿¿, <fdist> - ½¿í« near, ½¿í« far, ó ºá-
  2206.  ó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, ¿¼ÑÑΓ ½¿ æ-Σπ¡¬µ¿∩ Γ¿» near  ¿½¿  far.  àß½¿
  2207.  <fdist> - near, Γ« «»ÑαáΓ«α EXTRN ñ«½ªÑ¡ »«∩ó½∩Γ∞ß∩ ó¡πΓα¿  ¬«-
  2208.  ñ«ó«ú« ßÑú¼Ñ¡Γá óáΦÑú« ¼«ñπ½∩; Ñß½¿ ªÑ far, Γ«  «»ÑαáΓ«α  EXTRN
  2209.  ñ«½ªÑ¡ »«∩ó½∩Γ∞ß∩ ó¡Ñ ½εí«ú« ßÑú¼Ñ¡Γá. ìá»α¿¼Ñα, Ñß½¿ óδ ¿¼ÑÑΓÑ
  2210.  ß½ÑñπεΘ¿⌐ ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ:
  2211.  
  2212.       EXTRN _myfunc1:near, myfunc2:far
  2213.  
  2214.  φΓ« »«ºó«½¿Γ óá¼ óδºδóáΓ∞ myCfunc1 ¿ myCfunc2 ¿º¡πΓα¿ óáΦ¿σ áß-
  2215.  ßѼí½Ñα«ó߬¿σ »α«úαá¼¼.
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.                              - 38 -
  2223.  
  2224.  
  2225.  
  2226.  
  2227.       3.1.3.2. æßδ½¬á ¡á ñá¡¡δÑ
  2228.  
  2229.  
  2230.       ä½∩ Γ«ú« τΓ«íδ ß«ß½áΓ∞ß∩ ¡á »ÑαѼѡ¡δÑ, óδ  ñ«½ª¡δ  »«¼Ñß-
  2231.  Γ¿Γ∞ «»ÑαáΓ«αδ EXTRN ó¡πΓα¿ óáΦÑú« ßÑú¼Ñ¡Γá  ñá¡¡δσ,  ¿ß»«½∞ºπ∩
  2232.  ß½ÑñπεΘ¿⌐ Σ«α¼áΓ
  2233.  
  2234.       EXTRN <vname> : <size>
  2235.  
  2236.  úñÑ <vname> - ¿¼∩ »ÑαѼѡ¡«⌐ ¿ <size> - «ñ¿¡ ¿º ß½ÑñπεΘ¿σ ¿ñÑ¡-
  2237.  Γ¿Σ¿¬áΓ«α«ó, π¬áºδóáεΘ¿⌐ αẼÑα »ÑαѼѡ¡«⌐:
  2238.  
  2239.  1)     BYTE (1 íá⌐Γ)
  2240.  
  2241.  2)     WORD (2 íá⌐Γá)
  2242.  
  2243.  3)     DWORD (4 íá⌐Γá)
  2244.  
  2245.  4)     QWORD (8 íá⌐Γ)
  2246.  
  2247.  5)     TBYTE (10 íá⌐Γ)
  2248.  
  2249.  
  2250.       3.1.4. éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα
  2251.  
  2252.  
  2253.       ä½∩ Γ«ú« τΓ«íδ ¿ß»«½∞º«óáΓ∞ óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ó æ-»α«ú-
  2254.  αá¼¼Ñ, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ «»µ¿ε -B »α¿ ¬«¼»¿½∩µ¿¿. àß½¿  óδ
  2255.  ¡Ñ ¿ß»«½∞ºπÑΓÑ ñá¡¡πε «»µ¿ε, á ¬«¼»¿½∩Γ«α óßΓαÑτáÑΓ  óßΓα«Ñ¡¡δ⌐
  2256.  áßßѼí½Ñα, íπñÑΓ óδñáóáΓ∞ß∩ »αÑñπ»αѪñÑ¡¿Ñ.
  2257.  
  2258.       éδ ñ«½ª¡δ ¿¼ÑΓ∞ MASM óÑαß¿¿ 3.0 ¿ ßΓáαΦÑ. è«¼»¿½∩Γ«α  ß¡á-
  2259.  τá½á ß«ºñáÑΓ Σá⌐½ ¡á áßßѼí½ÑαÑ, á ºáΓѼ »«ñ¬½ετáÑΓ  MASM,  ñ½∩
  2260.  »«½πτÑ¡¿∩ Σá⌐½á .OBJ.
  2261.  
  2262.       ìÑ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ ¬½ετÑó«Ñ ß½«ó«  asm  ñ½∩  óóÑñÑ¡¿∩
  2263.  áßßѼí½Ñα«ó߬¿σ ¬«¼á¡ñ. ö«α¼áΓ
  2264.  
  2265.       asm <opcode> <operands> <; or newline>
  2266.  
  2267.  úñÑ
  2268.  
  2269.  <opcode>
  2270.         ñ«»πßΓ¿¼á∩ ¬«¼á¡ñá 8086
  2271.  
  2272.  <operands>
  2273.         «»Ñαáñ¡δ; ¼«ª¡« ßßδ½áΓ∞ß∩ ¡á æ ¬«¡ßΓá¡Γδ,  »ÑαѼѡ¡δÑ  ¿
  2274.         ¼ÑΓ¬¿
  2275.  
  2276.  <; or newline>
  2277.         (;) ¿½¿ ¡«óá∩ ßΓ᫬á - «ñ¿¡ ¿º »α¿º¡á¬«ó ¬«¡µá «»ÑαáΓ«αá
  2278.         asm.
  2279.  
  2280.       (;) ¡Ñ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ¬á¬ ¡áτὫ ¬«¼¼Ñ¡Γáα¿∩  ¬á¬
  2281.  
  2282.                              - 39 -
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  ó MASM. êß»«½∞ºπ⌐ΓÑ æ-¬«¼¼Ñ¡Γáα¿¿. ìá»α¿¼Ñα
  2288.  
  2289.          asm mov ax, ds;      /* ä«»πßΓ¿¼δ⌐ ¬«¼¼Ñ¡Γáα¿⌐ */
  2290.          asm pop ax; asm pop ds; asm iret;
  2291.          asm push ds;
  2292.  
  2293.       èáªñδ⌐ asm-«»ÑαáΓ«α ßτ¿ΓáÑΓß∩ ¬á¬ æ-«»ÑαáΓ«α. ìá»α¿¼Ñα,
  2294.  
  2295.          myfunc()
  2296.          {
  2297.                  int i;
  2298.                  int x;
  2299.                  if(i>0)
  2300.                          asm mov x,4
  2301.                  else
  2302.                          i=7;
  2303.           }
  2304.  
  2305.       çá¼ÑΓ¿¼, τΓ« ¡ÑΓ (;) »«ß½Ñ ¬«¼á¡ñδ mov x,4. ¥Γ« ñ«»πßΓ¿¼δ⌐
  2306.  if.
  2307.  
  2308.       ÇßßѼí½Ñα«ó߬¿⌐ «»ÑαáΓ«α ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡ ¬á¬ óδ»«½-
  2309.  ¡∩Ѽδ⌐ «»ÑαáΓ«α ó¡πΓα¿ Σπ¡¬µ¿¿, Γᬠ¿ ¬á¬ ó¡ÑΦ¡ÑÑ «»¿ßá¡¿Ñ  ó¡Ñ
  2310.  Σπ¡¬µ¿¿. Ä»ÑαáΓ«αδ, »«¼ÑΘÑ¡¡δÑ ó¡Ñ Σπ¡¬µ¿¿ αẼÑΘáεΓß∩  ó  ßÑú-
  2311.  ¼Ñ¡ΓÑ DATA, «»ÑαáΓ«αδ, »«¼ÑΘÑ¡¡δÑ ó¡πΓα¿ Σπ¡¬µ¿¿, - ó  ßÑú¼Ñ¡ΓÑ
  2312.  CODE.
  2313.  
  2314.       Éáßß¼«Γα¿¼ »α¿¼Ñα óßΓα«Ñ¡¡«⌐ Σπ¡¬µ¿¿ min.
  2315.  
  2316.          int min (int V1, int V2)
  2317.          {
  2318.                  asm mov ax, V1
  2319.                  asm cmp ax, V2
  2320.                  asm jle minexit
  2321.                  asm mov ax,V2
  2322.                  minexit:
  2323.                  return(_AX);
  2324.          }
  2325.  
  2326.       äá¡¡δ⌐ »α¿¼Ñα αáí«ΓáÑΓ ñ½∩ ¼«ñπ½Ñ⌐, ¿ß»«½∞ºπεΘ¿σ  large  ¿
  2327.  small ¼«ñѽ¿ »á¼∩Γ¿, æ ¿ Åá߬á½Ñó߬¿Ñ ß«ú½áΦÑ¡¿∩ ó맮óá.
  2328.  
  2329.       æπΘÑßΓóπεΓ τÑΓδαÑ ¬½áßßá  ¬«¼á¡ñ  óßΓα«Ñ¡¡«ú«  áßßѼí½Ñαá,
  2330.  ñ«»πßΓ¿¼δσ Turbo-C:
  2331.  
  2332.       1) ßΓá¡ñáαΓ¡δÑ ¬«¼á¡ñδ
  2333.  
  2334.       2) ¬«¼á¡ñδ αáí«Γδ ß« ßΓα«¬á¼¿
  2335.  
  2336.       3) ¬«¼á¡ñδ »ÑαÑσ«ñá
  2337.  
  2338.       4) áßßѼí½Ñα¡δÑ ñ¿αÑ¬Γ¿óδ - «»αÑñѽѡ¿∩ ¿ ¬«¼á¡ñδ αẼÑΘÑ-
  2339.  ¡¿∩ ñá¡¡δσ (db, dd, dw, extrn)
  2340.  
  2341.  
  2342.                              - 40 -
  2343.  
  2344.  
  2345.  
  2346.  
  2347.       3.1.4.1. æß佬¿ ¡á  ñá¡¡δÑ  ¿  Σπ¡¬µ¿¿  ¿º  óßΓα«Ñ¡¡«ú«
  2348.                áßßѼí½Ñαá
  2349.  
  2350.  
  2351.       éæÆÉÄàìì¢ë ÇææàîüïàÉ ¿ ÉàâêæÆÉÄé¢à ÅàÉàîàìì¢à:
  2352.  
  2353.       àß½¿ «»¿ßá¡¿∩ register óßΓαÑτáεΓß∩ ó Σπ¡¬µ¿¿, «¡¿ αáßß¼áΓ-
  2354.  α¿óáεΓß∩ ¬á¬ «»¿ßá¡¿∩ αÑú¿ßΓα«óδσ »ÑαѼѡ¡δσ,  ó«  óßÑσ  ñαπú¿σ
  2355.  ß½πτá∩σ ñá¡¡δÑ «»¿ßá¡¿∩ αáßß¼áΓα¿óáεΓß∩ ¬á¬ «»¿ßá¡¿∩  áóΓ«¼áΓ¿-
  2356.  τÑ߬¿σ »ÑαѼѡ¡δσ. é ¡Ññ«»πßΓ¿¼δσ ß½πτá∩󠬽ετÑó«Ñ ß½«ó« regis-
  2357.  ter ¿ú¡«α¿απÑΓß∩.
  2358.  
  2359.       Æ«½∞¬« short, int (¿½¿ ß««ΓóÑΓßΓóπεΘ¿Ñ unsigned Γ¿»δ) ¿ 2-
  2360.  íá⌐Γ«óδÑ π¬áºáΓѽ¿ ¼«úπΓ íδΓ∞ »«¼ÑΘÑ¡δ ó αÑú¿ßΓαδ. ä½∩  αÑú¿ßΓ-
  2361.  α«óδσ »ÑαѼѡ¡δσ ¿ß»«½∞ºπεΓß∩ SI ¿ DI αÑú¿ßΓαδ.
  2362.  
  2363.         àß½¿  ¿ß»«½∞ºπÑΓß∩  αÑú¿ßΓα«ó«Ñ  «»¿ßá¡¿Ñ   ó   Σπ¡¬µ¿¿,
  2364.  óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ ¿½¿  ¿º¼Ñ¡¿Γ∞  º¡áτÑ¡¿∩
  2365.  αÑú¿ßΓα«ó«⌐ »ÑαѼѡ¡«⌐, ¿ß»«½∞ºπ∩ DI ¿½¿ SI; ßἫѠ½πτΦÑÑ ¿ß»«-
  2366.  »«½∞º«óáΓ∞ æ ß¿¼ó«½∞¡δÑ ¿¼Ñ¡á ó ß½πτáÑ ¿º¼Ñ¡Ñ¡¿∩  º¡áτÑ¡¿∩  αÑ-
  2367.  ú¿ßΓα«óδσ »ÑαѼѡ¡δσ.
  2368.  
  2369.  
  2370.       3.1.4.2. êß»«½∞º«óá¡¿Ñ ßΓαπ¬Γπα
  2371.  
  2372.  
  2373.       é« óßΓα«Ñ¡¡«¼  áßßѼí½ÑαÑ  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ßß佬¿  ¡á
  2374.  ßΓαπ¬Γπαδ. èα«¼Ñ Γ«ú«, ¼«ª¡« ¡Ñ»«ßαÑñßΓóÑ¡¡« ßßδ½áΓ∞ß∩ ¡á  τ½Ñ¡
  2375.  ßΓαπ¬Γπαδ. Éáßß¼«Γα¿¼ ß½ÑñπεΘπε »α«úαá¼¼π.
  2376.  
  2377.          struct myStruct {
  2378.                  int a_a;
  2379.                  int a_b;
  2380.                  int a_c;
  2381.          } myA;
  2382.  
  2383.          myfunc()
  2384.          {
  2385.                  ...
  2386.                  asm mov ax, myA.a_b
  2387.                  asm mov bx,[di].a_c
  2388.                  ...
  2389.          }
  2390.  
  2391.       ÅÑαóá∩ ßΓ᫬á asm ºáßδ½áÑΓ ó αÑú¿ßΓα AX º¡áτÑ¡¿Ñ  myA.a_b.
  2392.  æ½ÑñπεΘá∩ º   ºáßδ½áÑΓ   º¡áτÑ¡¿Ñ,   ¡áσ«ñ∩ΘÑÑß∩   »«    áñαÑßπ
  2393.  [DI]+ß¼ÑΘÑ¡¿Ñ(a_c) (íÑαÑΓß∩ áñαÑß, ¡áσ«ñ∩Θ¿⌐ß∩ ó αÑú¿ßΓαÑ DI, ¿
  2394.  ñ«íáó½∩ÑΓß∩ ¬ ß¼ÑΘÑ¡¿ε a_c «Γ ¡áτá½á ßΓαπ¬Γπαδ) ó αÑú¿ßΓα BX.
  2395.  
  2396.       ¥Γá »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ «»ÑαáΓ«α«ó »«α«ªñáÑΓ ß½ÑñπεΘ¿⌐ ¬«ñ
  2397.  
  2398.          mov ax, DGROUP:myA+2
  2399.          mov bx,[di+4]
  2400.  
  2401.  
  2402.                              - 41 -
  2403.  
  2404.  
  2405.  
  2406.  
  2407.       3.1.4.3. êß»«½∞º«óá¡¿Ñ ¬«¼á¡ñ »ÑαÑσ«ñá ¿ ¼ÑΓ«¬
  2408.  
  2409.  
  2410.       î«ª¡« ¿ß»«½∞º«óáΓ∞ ¬«¼á¡ñδ πß½«ó¡«ú« ¿ íѺπß½«ó¡«ú«  »ÑαÑ-
  2411.  σ«ñá, ¿ µ¿¬½δ ó« óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ.  Ä¡¿  ñ«»πßΓ¿¼δ  Γ«½∞¬«
  2412.  ó¡πΓα¿ Σπ¡¬µ¿¿. è«¼á¡ñδ »ÑαÑσ«ñá ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ¼ÑΓ¬¿ «»Ñ-
  2413.  αáΓ«αá æ goto.
  2414.  
  2415.       ä«»π߬áÑΓß∩ ¬«ßóÑ¡¡δ⌐ »ÑαÑσ«ñ. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞  αÑ-
  2416.  ú¿ßΓα«ó«Ñ ¿¼∩ ¬á¬ «»Ñαá¡ñ ó ¬«¼á¡ñÑ »ÑαÑσ«ñá ¿½¿ ºá¬½ετ¿Γ∞ «»Ñ-
  2417.  αá¡ñ ó ß¬«í¬¿ [], «»αÑñѽ∩∩ JUMP-áñαÑß.
  2418.  
  2419.       ìá»α¿¼Ñα
  2420.  
  2421.          int x()
  2422.          {
  2423.                  int a;
  2424.                  . . .
  2425.          a:
  2426.                  . . .
  2427.                  asm jmp a    /* »ÑαÑσ«ñ ¡á ¼ÑΓ¬π "a" */
  2428.                  asm jmp [a]  /* »ÑαÑσ«ñ »« áñαÑßπ,
  2429.                                  ß«ñÑαªáΘѼπß∩ ó "á" */
  2430.                  . . .
  2431.          }
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.