
                                  11
                             ------------

                            
     -----------------------------------------------------------------

            ࢮ筨        
      .୨  . " ணࠬ஢ " ( 
     ⪮ K&R").     ।   ⠭  
     (   襭 ਪ᪨ 樮 ⮬ ⠭-
     ⮢ ANSI).   K&R,  㣮 ஭,   ⠭,
     ⠪   ணࠬ,  ᮮ⢥ ⮬ ⠭,   
     ⪮஢  ࠭஬ , ন騬 ।
     K&R.

          ࡮  ন  ⮫쪮 ।,   K&R, 
      設⢮ ७ ⠭ ANSI.  ⮬,   ᠬ 
     ࡮  -  襭  ७     -
      ⥩,  襩 魮     ⭮襭  
     ⠭.      ९    K&R  
     ⠭ ANSI,   ⮣ ᪠   ७ ।-
      K&R, ⬥    ᮮ⢥ ⠭ ANSI,  -
       訬 ᮡ⢥묨.

      * ਬ. . - ॢ  ᪨  (.᪢,
                     "  ⨪", 1985 .).




                ⮩ ...
     -----------------------------------------------------------------

           祭 ࠡ  㪮⢮  ᫥㥬  (  
     ) ᮤঠ  ਫ  K&R, ஥ 뢠 "ࠢ-
      㪮⢮  ".    ࠧ ⮣ ਫ ਢ-
      뫪,     ய᪠.    ᤥ 뢮
        ᮤঠ ⮫쪮 ⥫ ⫨   ।-
     ﬨ ࡮   K&R.  ஬ ⮣,  襣  -
      ७ ANSI  ࡮ ,   ਢ 室 -
         ⮬    浪,       ANSI ⠭ ,    
     浪, ਭ⮬  K&R.



               ਨ (K&R 2.1)
     -----------------------------------------------------------------

           । K&R    ࠧ蠥  ᯮ짮  
     ਨ. ਬ, :

     /* ⪠ ப஢ myfunc() */
     /*
       myfunc()
       {
          printf("  㭪\n}   /*  ப */
       }
     */

     㤥 ஢  ⮫쪮  ਩,  稢-
     騩 ࠢ ᫥ ࠧ " ப". ⠢ ᪮  -
         맮  ᨭ⠪  訡.    㬮砭
     ࡮   ࠧ蠥  ਨ,     -
     ४⭮ ⪮஢  (⠪  )  ணࠬ  -
     묨  ﬨ,  ᯮ    -c (  -
       樨 Nested Comments... ON (ࠧ  -
     ਥ)   O/C/Source ).    ᯥ祭 襩 -
      ࠢ쭥 ⬥ ,    ப-
     , ४⨢ #if 0  #endif.

          ਨ     ᨬ ஡ ᫥ -
     ७.   㣨 ॠ ਨ  㭨⮦  -
        ᯮ । ᥬ.   "
     ᥬ"  ⮩ .


               䨪 (K&R 2.2)
     -----------------------------------------------------------------

          䨪 -    ,    -
     , 㭪, ⨯    㣨 ꥪ⠬, ।
     짮⥫ﬨ.    䨪   㪢 (A...Z,
     a...z)     (0...9),  ⠪ ᨬ ન.  ࡮ 
     ⠪ ࠧ蠥  ᯮ짮   ($). 筮, -
     䨪  稭 ⮫쪮  㪢  ᨬ (_).

           (孨  )  祭: 㣨 ᫮
     䨪 indx  Indx ࠧ.   ࡮   ணࠬ
     騬   32 ᨬ 䨪 ;    
        ᫮   樨  -i#,   #
      ᫮  ᨬ.  ( ।    -
     権 O/C/S/Identifier Length ( 䨪) .)

           32 ᨬ   騬 ⠪   
     䨪஢,    㣨 㫥.  ,  
      ࠧ ।   ⢨⥫쭮  ॣࠬ
       䨪஢, ᯮ  Case sensitive link..ON 
      Options/Linker  /c  騪 TLINK, ᪠-
        ப.   ⬥⨬, 筮,  䨪
     ⨯  pascal    ⢨⥫  ॣ  ६ -
     .



               祢  ᫮ (K&R 2.3)
     -----------------------------------------------------------------

           ⠡  8.1  ਢ 祢 ᫮,  १ࢨ஢
     ࡮ ,     ᯮ짮   ⢥  
     䨪஢. ।饥     ᮪饭 AN ᮮ⢥
     ANSI ७ K&R,  TC - ७ ࡮ . 祢 ᫮
     entry  fortran,  㯮  K&R,  ᯮ   १ࢨ-
       ࡮ .

           11.1: 祢 ᫮ १ࢨ஢ ࡮ .
     -----------------------------------------------------------------
      TC  asm          extern        return      TC  _cs     TC  _DH
          auto     TC  far           short       TC  _ds     TC  _DL
          break        float     AN  signed      TC  _es     TC  _DX
          case         for           sizeof      TC  _ss     TC  _BP
      TC  cdecl        goto          static      TC  _AH     TC  _DI
          char     TC  huge          struct      TC  _AL     TC  _SI
      AN  const        if            switch      TC  _AX     TC  _SP
          continue     int           typedef     TC  _BH
          default  TC  interrupt     union       TC  _BL
          do           long          unsigned    TC  _BX
          double       near      AN  void        TC  _CH
          else     TC  pascal    AN  volatile    TC  _CL
      AN  enum         register      while       TC  _CX



               ⠭ (K&R 2.4)
     -----------------------------------------------------------------

          ࡮  ন  ⨯ ⠭, ।  K&R,
      묨 ७ﬨ.



           ⠭ (K&R 2.4.1)
          ---------------------------

          ᪠ ᯮ짮    ⠭   
     0...4294967295. (⥫  ⠭ ᬠਢ  
      ,      ਬ 㭠  "".)
     쬨  ⭠ ⠭ ⠪ ⨬.

          䨪 L ( l), ᮥ   ⠭, ᤥ
      ।⠢ ⨯ long.  筮,  䨪 U ( u), 
     ।⠢ unsigned.  ⠭ ⠭ unsigned long, ᫨
      祭 ॢ蠥 65535,  ᨬ  ᯮ㥬 ᭮-
     . ਬ砭:  ᯮ짮  (L,  U) 䨪  -
       ⮩  ⠭.

           ⠡ 11.2  饭 ।⠢ ⠭  ᥬ ६
     ᭮.

           11.2.  ⠭ ࡮   L  U.
     -----------------------------------------------------------------
     __________________ ⠭________________________

               0-32767              int
           32767-2147483647         long
      2147483648-4294967295         unsigned long
               > 4294967295         㤥 ९ 
                                    ।०;१ ⠭
                                    㤥 ।⠢ 訬 ⠬
                                    䠪᪮ 祭

     __________________쬨 ⠭______________________

                00-077777           int
           0100000-0177777          unsigned int
          01000000-017777777777     long
     0100000000000-0377777777777    unsigned long
                 > 0377777777777    㤥 ९ ( ᠭ
                                    )

     _________________⭠ ⠭__________________

            0x0000-0x7FFF           int
            0x8000-0xFFFF           unsigned int
           0x10000-0x7FFFFFFF       long
        0x80000000-0xFFFFFFFF       unsigned long
                 > 0xFFFFFFFF       㤥 ९ ( ᠭ
                                    )
     -----------------------------------------------------------------



           ⠭ (K&R 2.4.3)
          --------------------------------

          ࡮   ন  ᨬ ⠭,  ਬ,
     'An', '\n\t'   '\007\007'.   ⠭  16-⭮ ।-
     ⠢ ⨯ int,  祬  ᨬ 室  襬 -
     ,  ன  襬. ,  ⠪ ⠭  ७-
     ᨬ  㣨  .

          ᨬ ⠭, ⠪  'A', '\t'  '\007' ⠪
      16 ⭮ ।⠢ ⨯ int.    ⮬  砥  訩
        ᨣ ९  襬 ; ..,  ᫨
     筮 祭  祬 127,   訩  ⠭-
       -1 [=0xFF].     饭 ,  ⨯
     char   㬮砭   騬.   ⮣  ᯮ
       -k   Default char type...Unsigned
       Options/Compiler/Source,  訩  㫥,
        祭 襣 .

         ࡮  ন ANSI ७, ᪠饥 ⭠-
     筮 ।⠢  ᨬ, ਬ, '\x1F','\x82' 
     ⠪ . ஬ ⮣ ⨬  x  X,  ⠪ ᯮ짮-
          .

         ࡮   ⠪ ন 㣨 ANSI ७  ᯨ᪠
     ࠧ襭 escape (᪥)-᫥⥫쭮⥩.  Escape-᫥-
     ⥫쭮 ।⠢ ᮡ 祭, 묨 뫠 ᨬ-
        ப ⠭,।  室 
     ᫥ (\).  ⠡ 11.3 ਢ ᯨ᮪  ࠧ襭  ᫥-
     ⥫쭮⥩,    ⬥祭 窮 (*)   -
       ᯨ, ਢ  K&R.

           11.3. Escape ᫥⥫쭮 ࡮ 
     -----------------------------------------------------------------
     ᫥⥫쭮  祭        
     -----------------------------------------------------------------
     * \a                  0x07     BEL       㪮 ᨣ
       \b                  0x08     BS        <- ()
       \f                  0x0C     FF        ॢ ࠭
       \n                  0x0A     LF        ॢ ப
       \r                  0x0D     CR         ⪨
       \t                  0x09     HT        ਧ⠫쭠 ⠡
     * \v                  0x0B     VT        ⨪쭠 ⠡
       \\                  0x5c     \          ᫥
       \'                  0x2c     '         
     * \"                  0x22     "          窠
     * \?                  0x3F     ?         ⥫ 
       \DDD                              DDD =  1  3
                                              쬨 
     * \xHHH               0xHHH         HHH =  1  3
                                              ⭠ 
     ----------------------------------------------------------------
     * ७ ANSI  K&R

          ਬ砭: ᪮ ࡮  ᪠ ᨬ -
     ⠭,   ᫥, ᫨ 쬨筠 escape
     ᫥⥫쭮   祬   । .   
     ⠪ ,  ࡮  㤥 ,  ᫥騩 ᨬ -
      escape ᫥⥫쭮, ஬ ,  ᨬ 
     ᪠   ⨯ ᥫ. ਬ, ᪮  8 
     9  쬨   ࠧ襭,  ⠭ \258 㤥 -
     ஢    ᨬ쭠 ⠭,    ᨬ
     \25  8.



          ⠭  饩 窮 (K&R 2.4.4)
          ----------------------------------------

           ⠭    饩  窮,   ।   ⨯
     double, ᠭ  K&R. ,   ᤥ ⠭  -
     饩 窮  ⨯ float,    䨪 F.



               ப (K&R 2.5)
     -----------------------------------------------------------------

           ᮮ⢥⢨  K&R ப ⠭  易⥫쭮
       ப,  饩 :   窨,   ⥪,
       窨 (" ").  த ᨬ쭮 ᫥-
     ⥫쭮   ப      ᯮ짮  
     ᫥.

           ࡮  ࠧ蠥 ᯮ짮 ப  
      ப ⠭,    ॡ  -
     樨 (ᮥ) ப. , ਬ,   ᤥ ᫥-
     饥:

     main()
     {
          char   *p;

          p = " ਬ ⮣,  ࡮ "
              " 㤥 ⮬᪨\n믮 ⥭"
              "  祭  ப,\n 來"
              " 騩  ணࠬ."

          puts(p);
     }

           १ ࠡ ணࠬ:

      ਬ ⮣,  ࡮  㤥 ⮬᪨
     믮 ⥭  祭  ப,
      來 騩  ணࠬ.



              ᨬ   । (K&R 2.6)
     -----------------------------------------------------------------

           K&R ਧ,   ࠧ  ᫮    ᭮
     ⨯    ( ᥬ ਠﬨ)  祭   ⭮
     ⥪ .   ࠢ  ࡮    -
     設⢠  㣨  ஢  .  ⠡ 11.4 ਢ ᯨ᮪
     ࠧ஢  ᮮ⢥   ࠧ ⨯  
      ࡮ .

           11.4.  , ࠧ    ࡮ 
     -----------------------------------------------------------------
                      ( )        
     -----------------------------------------------------------------
      unsigned char           8                   0 - 255
      char                    8                -128 - 127
      enum                    16             -32768 - 32767
      unsigned short          16                  0 - 65535
      short                   16             -32768 - 32767
      unsigned int            16                  0 - 65535
      int                     16             -32768 - 32767
      unsigned long           32                  0 - 4294967295
      long                    32        -2147483648 - 2147483647
      float                   32            3.4E-38 - 3.4E+38
      double                  64           1.7E-308 - 1.7E+308
      long double             80          3.4E-4932 - 1.1E+4932
      pointer                 16     (㪠⥫ near,_cs,_ds,_es,_ss)
      pointer                 32     (㪠⥫ far, huge)



              ८ࠧ (K&R 6)
     -----------------------------------------------------------------

          ࡮  ন ⠭ 堭   ⮬-
      ८ࠧ  ⨯   㣮. 騥 ࠧ-
         K&R  뢠 ᯥ᪨ ⮭-
       ॠ樨.



          Char, int  enum (K&R 6.1)
     -----------------------------------------------------------------

          ८ࠧ ᨬ쭮  ⠭  楫 ⨯  -
     ⮬ 16-⭮ 祭,  ᪮  ,   ᨬ
     ⠭ ।⠢   16- 祭 (.  K&R 2.4.3.).
      ८ࠧ ᨬ쭮 ꥪ (⠪  ६-
     )     楫᫥  ꥪ ⮬᪨ 砥 
     ७, ᫨   ᤥ  㬮砭 ⨯ char ,
     ᯮ   樨  -k.  ꥪ ⨯ signed char 
     ८ࠧ   int ᥣ  ᯮ    ७;
     ꥪ ⨯   unsigned  char ᥣ ⠭ 訩  
     .

          祭 ⨯ enum ८ࠧ  int  䨪樨; -
     筮 祭, 騥 ⨯ int,  ८ࠧ뢠  -
     祭 ᫨ ⨯ enum,  ᨬ ८ࠧ  int -
     祭  ⭮.



          ⥫ (K&R 6.4)
     -----------------------------------------------------------------

           ࡮   ࠧ 㪠⥫ 襩 ணࠬ,   
     ࠧ ࠧ஢,   ᨬ  ᯮ㥬   
      ᯮ㥬 䨪 ⨯ 㪠⥫. ਬ,  
      ணࠬ, ᯮ   , -
     㥬 䨪 (near, far, huge, _cs, _ds, _es, _ss)  襬
     室 ⥪   ࠧ 㪠⥫,   
      .

          ⥫        㪠⥫  
      ⨯,   ᫨  ⨯ - void (   ⢨-
     ⥫쭮 砥 㪠⥫  祣). ,  -
     , ⠪ 㪠⥫  㪠뢠  ꥪ  㣮 -
     . ࡮   ७ 㪠⥫,   -
      ।०   ७祭, ᫨ ⮫쪮 ।-
     ⥫쭮   㪠⥫     㪠⥫  ⨯ void.
     , 㪠⥫   ⨯      ८ࠧ  
     㪠⥫  㭪樨,  .



          䬥᪨ ८ࠧ (K&R 6.6)
     -----------------------------------------------------------------

           K&R  ।    䬥᪨ ८ࠧ,
     ।騥,  ந  묨 稭, ᯮ짮묨
      䬥᪨ ࠦ (࠭,  ,  ࠭). 
     ਢ 蠣, ᯮ㥬 ࡮ ,  ८ࠧ ࠭-
       䬥᪨ ࠦ:

        1.    integer   double ⨯ ८ࠧ  ᮮ⢥-
     ⢨   ⠡殩 11.5. ᫥ ⮣   祭, ꥤ-
      ஬,  楫묨 - int (  long    unsigned
     䨪)   饩 窮 - double.

        2. ᫨ - ࠭  ⨯ double,  㣮 ࠭
     ⮦ ८ࠧ  double.

        3.   砥,  ᫨   ࠭  ⨯ unsigned long,
      㣮 ࠭ ⮦ ८ࠧ  unsigned long.

        4.  砥,  ᫨   ࠭  ⨯ long,  㣮
     ࠭ ⮦ ८ࠧ  long.

        5.  砥,  ᫨ -  ࠭  ⨯ unsigned,
      㣮 ࠭ ⮦ ८ࠧ  unsigned.

        6.  ᫥ ਠ,  ࠭  ⨯ int.

           ࠦ । ⨯  ࠭.

         11.5: ⮤, ᯮ㥬  । १
                        䬥᪨  ८ࠧ.
     -----------------------------------------------------------------
                  ८ࠧ           ⮤
     -----------------------------------------------------------------
      char               int                  
      unsigned char      int         㫥 訩  (ᥣ)
      signed char        int                   (ᥣ)
      short              int         ᫨ unsigned,  unsigned int
      enum               int                 ⮦ 祭
      float              double        ﬨ
     -----------------------------------------------------------------



                (K&R  ࠧ 7.2)
     -----------------------------------------------------------------

          ࡮   ন 㭠  + , K&R - .  
       䥪⨢,  室 । ᨬ  -
     ⨢ ஬.  ᮧ 䥪⨢  -
       ࠦ, ࡮  筮 믮 ॣ㯯஢ ࠦ-
       㯮冷稢 ⨢ ஢ (⠪  * 
      +). , ࡮   㤥 㯮冷稢  ࠦ-
         饩  窮.    ᯮ짮 ᪮ 
     뤥  ८ࠧ  ࠦ    饩  窮
     ।  㣨. ਬ, ᫨ a, b, c  f  ⨯ float, ⮣
     ࠦ

               f = a + (b + c);

     ⠢  ᭠砫  業  祭  (b+c),    ⥬  ਡ
     १  a.



               䨪 ⨯  䨪 (K&R 8.2)
     -----------------------------------------------------------------

          ࡮  ন ᫥騥 ᭮ ⨯, 騥
      K&R:

           - unsigned char
           - unsigned short
           - unsigned long
           - long double
           - enumeration
           - void

            int  short ᮢ  ࡮ ;   16 .
      "Hardware Specifics" (⭮-⥪ ᯥ䨪)
       ⠫쭮   饭 ࠧ ⨯.



           enum
     -----------------------------------------------------------------

          ࡮   ন  ᫨ ⨯ ANSI ⠭.
     ᫨ ⨯   ᯮ    ᠭ  ⭮
     ⢠ 楫 祭. ਬ,    ᫥饥:

          enum days { sun, mon, tues, wed, thur, fri, sat };

          , ᫥    days,   楫묨 ⠭⠬:
     ࢠ (sun) ⮬᪨ ⠭  ,   ᫥
      祭   , 祬 । (mon = 1, tues=2
      ..).  ,    ᢮ ⠭⠬   ।
     祭; ᫥騥 ,    祭,  ⮣,
       ࠭,   祭 । ⮢   㢥祭
      . ਬ,

          enum coins {penny=1, nickle=5, dime=10, quarter=25};

          ६ ᫨  ⨯      ᢮ 
     祭 ⨯ int - ஢ઠ ⨯  ந.



           void
     -----------------------------------------------------------------

           K&R  㭪 頥 祭; ᫨ ⨯  -
     ,   㭪 ਭ ⨯ int.   ࡮  ন
     ⨯ void,  ।  ANSI ⠭.  ᯮ  -
      ᠭ 㭪権,   祭. 筮, -
     ⮩ ᯨ᮪ ࠬ஢    १ࢨ஢  ᫮-
      void. ਬ,

      void putmsg(void)
      {
           printf("Hello, world\n");
      }

      main()
      {
           putmsg();
      }

             ८ࠧ뢠  ࠦ  ⨯ void,   ⮣
     ⮡  㪠,   祭, 頥 㭪樥, -
     . ਬ,   ᫨   ਮ⠭ 믮 ண-
     ࠬ     짮⥫   -  ,
       :

          (void) getch();

          ,      㪠⥫  ꥪ ⨯ void.
      㪠⥫  㤥 㪠⥫  ;  㤥 㪠⥫
       ⨯ , 祬  ⨯    -
     易⥫쭮.    ᢠ  㪠⥫ 㪠⥫ ⨯
     void ( )   ਢ ⨯.      -
     짮  ᢥ 樨 (*)  㪠⥫ void, .
     . ᯮ㥬 ⨯ ।.



          䨪 signed
     -----------------------------------------------------------------

          ஬ 㪠  K&R  ⨯ 䨪஢ - long, short
      unsigned - ࡮  ন   :   signed,   const  
     volatile ( ।  ANSI ⠭).

          䨪 signed ⨢ unsigned   㪠뢠,
      稭  .   䨪 ᯮ  २-
     ⢥  㬥஢  ਤ 祭  ண-
     ࠬ. ,   ᫨   ணࠬ,   ᯮ  
     㬮砭  ⨯ char ( ),   㦭  -
     짮 䨪 signed,  ⮣ ⮡ । ६-
       㭪 ⨯ signed char.  䨪 signed,  ᯮ짮-
      ᠬ  ᥡ, 砥 signed int, ⠪   unsigned -
     砥 unsigned int.



          䨪 const
     -----------------------------------------------------------------

          䨪 const,   । ⠭ ANSI,  -
          뫮 ८। ᮡ⢥ 祭 
     㣨 ᢥ ,  ⠪  㢥祭  㬥襭.
     ⥫ ⨯ const    ஢,    ⫨稨  
     ᠬ ꥪ,     ।.  砭:  䨪
     const, ᯮ㥬 ᠬ  ᥡ, ⥭ const int. ᬮ-
     ਬ ᫥騥 ਬ:

          const float pi          = 3.1415926;
          const       maxint      = 32767;
          char *const str         = "Hello, world";  /* ⥫ ⨯
                                                              const */
          char const  *str2       = "Hello, world";  /* ⥫ 
                                                           ப ⨯
                                                              const */

          ਢ  ⢥ত ⨬:

          pi  = 3.0;              /* ᢮ 祭 ⠭ */

          i   = maxint--;                  /* 襭 ⠭ */
          str = "Hi, there!";          /* ७祭 㪠⥫ */

          ⨬,  ,  맮 㭪樨 strcpy(str,"Hi, there!")
     ⨬,  ᪮  믮  ᨬ쭮  ஢ ப
     ᨬ  "Hi, there!"   , ।塞 str.



          䨪 volatile
     -----------------------------------------------------------------

          䨪 volatile,   ⠪  । ⠭⮬ ANSI,
       ⨢ const.   㪠뢠,    ꥪ
         ⮫쪮 ,  ⠪  祬-  襩
     ணࠬ, ਬ, ணࠬ 뢠  ⮬ /뢮-
     .  ꥪ  volatile ।० , 
      㦭  । ⭮⥫쭮 祭  ꥪ,   
        業 ᮤঠ騥  ࠦ,  .. -
     祭  (⥮᪨)     ६. ஬ ⮣,
     volatile 頥 ⠪  ᯮ짮  ६-
      ॣ஢ ६.

          volatile int ticks;
          interrupt timer();
          {
               ticks++;
          }

          wait (int interval)

          {
               ticks = 0;
               while(ticks < interval);        /* 祣   */
          }

           ணࠬ (騥 ⠩, 易  뢠ﬨ
       ᮢ)  ॠ뢠 ६ প  -
     ⢥⢨  祭, 㪠  㬥 interval. ⨬,
          ᮪ ஢ ⨬樨   㧨
     祭 ticks  横 while, .. 横   祭
     ticks.



          䨪 cdecl  pascal
     -----------------------------------------------------------------

          ࡮   뢠   襩  ணࠬ  ணࠬ,
     ᠭ  㣨 몠,  .  ᬥ訢 몮 
      㬥    묨 ꥪ⠬:  䨪-
     ࠬ  ।묨 ࠬࠬ.

           樨 ணࠬ ࡮ ,    -
      ணࠬ,  ..   㭪権     ६,
     ࠭  ꥪ⭮   ᫥饩 .  㬮-
     砭  䨪 뢠  ਣ쭮 , (. 
     ᮮ⢥⢨   ﭨ ॣ - ,  ப  
     ,  㣮). ஬ ⮣, ᨬ ન (_) ।
     䨪, ᫨        ᯮ짮    -u(Generated
     underbars...OFF).

          筮,   譨  䨪,   
     ணࠬ,     ⮬    ᠬ  ଠ.  騪 (
     㬮砭) ࠧ砥 ॣ , ⮬ 䨪,
     ᯮ㥬  ࠧ 室 䠩,  筮 ᮮ⢥-
        䮣䨨,   ॣࠬ .



          pascal
     -----------------------------------------------------------------

           । ,  ਬ,  ᯮ짮 ,
     ᠭ   㣨  몠,  ᠭ   ⮤ ࠭
     , ਬ塞  㬮砭,  맢  ஡.

          ࡮        室  ஡.   
       䨪  䨪 ⨯ pascal.   
     砥,  䨪 ८ࠧ  孥 ॣ  
        ᨬ ન. (᫨ 䨪 -
      㭪樥,    ࠢ ࠭   ।-
      ࠬ; .  "䨪 ⨯ 㭪権"    -
     ⠫쭮 .)    ⮬ ᯮ㥬   室 
     ॣ  뢠,  ..    ⠯    ਬ
     ⮫쪮 孨 ॣ.



          cdecl
     -----------------------------------------------------------------

          ⠭  樨  -p (ᮮ⢥ ⠭-
      ᪠),    ᤥ   䨪 
     室 䠩 ⨯ pascal.   ⥬    㪠-
     ,    䨪 ⢨⥫    ॣ  
     ।   ન, ᮡ, ᫨   -
       㣮 䠩.

           ⮬ 砥   ᤥ    䨪-
     ஢  cdecl,  ( ⠪ 㤥    ।  㭪
     ࠬ஢).

            ,  ਬ,    㭪樨  
     䠩 (stdio.h  .)  ⨯ cdecl.    -
        묨 ணࠬ, ᫨  ᯮ
      -p  樨.

            ᭥ ⠫  ᬮ  ࠧ  10.1.1  K&R  ⮩
     ,  ⠪  12.



          䨪 near, far  huge
     -----------------------------------------------------------------

          ࡮    䨪,   ᢥ
      (*),  ,  ⥬ ᠬ,  㪠⥫  .
        near, far  huge. 祭  祢 ᫮ 
     ⠫쭮     12,     ⪨ -
     .

          ࡮   ᯮ짮  樨    -
     쪨  . ,   ᯮ, ।-
      (।  ⠫) ७ ଠ 㪠⥫  .
     ᫨   ᯮ    (tiny,  small,  medium),
      㪠⥫   ⮫쪮 16    ᬥ饭 ⭮-
     ⥫쭮 ॣ ᥣ  (DS). ᫨  ᯮ 
      (compact, large, huge),  㪠⥫    -
      32     ᥣ  ᬥ饭.

          ,   ᯮ    ࠧ,  
          㪠⥫    ࠧ஬  
     ଠ⮬ 㣨 祬  ᯮ㥬  㬮砭.    ᤥ-
         䨪஢ near, far  huge.

          ⥫ ⨯ near  ࠧ 16 ;  ᯮ ⥪-
     饥 ᮤন ॣ ᥣ  (DS)   । -
      ᥣ.     㬮砭   ᯮ   
     .   ᯮ짮 㪠⥫ ⨯  near,     襩
     ணࠬ ࠭祭 ࠧ஬ 64 K ⥪饣 ᥣ .

          ⥫ ⨯  far   ࠧ 32   ᮤন  -
     , ⠪  ᬥ饭.  㬮砭  ᯮ   -
     .    ᯮ짮 㪠⥫ ⨯ far ᪠ 뫪
        । 㥬  ࠭⢠  1    
     Intel 8088/8086.

          ⥫ ⨯ huge  ࠧ 32   筮 ।-
     饬, ᮤন   ᥣ  ᬥ饭, ,  ⫨稨 
     㪠⥫ ⨯ far,  㪠⥫ huge ᥣ ন ଠ-
     .  ⠫쭮  ᬠਢ   12,  
      ⫨稥  㪠⥫ ⨯ far:

        #  ⭮襭 (==, !=, <, >, <=, >=) ࠡ ४-
       㪠⥫ﬨ ⨯ huge;    㪠⥫ﬨ ⨯ far.

        #  䬥᪨ 樨  㪠⥫  huge  -
         ᥣ,  ⠪   ᬥ饭 (- ଠ-
     樨);  ᯮ짮 far 㪠⥫ - ⢨  -
      ⮫쪮  ᬥ饭.

        #   㪠⥫ ⨯ huge   㢥祭  ।
     1  ᭮ ࠭⢠; 㪠⥫ ⨯ far,  ᮮ⢥⢥,
     㤥 横᪨ 室  砫 ᥣ  64.

        #   ᯮ짮  㪠⥫  ⨯ huge ॡ -
     ⥫쭮 ६, .. ணࠬ ଠ樨  뢠 -
      믮  䬥᪮ 樨  㪠⥫ﬨ.



                   ꥤ (K&R ࠧ 8.5)
     -----------------------------------------------------------------

          ࡮  ন ॠ   ꥤ ᮣ-
     ᭮ K&R,   ⠪ ᯥ稢 ᫥騥 ⥫ -
     .



          ࠢ ᫮
     -----------------------------------------------------------------

          ᫨  ᯮ  -a (Alignment...Word)  -
     樨, ࡮  㤥   ( ꥤ) ⠬
     ⠪,   ॡ  ࠢ ᫮.  १:

        #  㤥 稭  ࠭ ᫮ ( ).

        #      -char ⨯, 㤥  ⭮ ᬥ饭
      砫 .

        # ᫨  室,   㤥      ࠭⨨
     ⮣,    ᮤন ⭮ ᫮ .



           
     -----------------------------------------------------------------

           ࡮         ⨯    signed,   
     unsigned int     1  16 .   ࠧ-
       ࠢ    訬 ⠬  ᫮. ਬ,

         struct mystruct {
            int             i : 2;
            unsigned        j : 5;
            int               : 4;
            int             k : 1;
            unsigned        m : 4;
         } a, b, c;

     ᯥ稢 ᫥饥 ࠧ饭:
          __________________________________________________

          |15|14|13|12|11 |10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
          |--|--|--|--|---|--|--|--|--|--|--|--|--|--|--|--|
          | x| x| x| x| x | x| x| x| x| x| x| x| x| x| x| x|
          |-----------|---|-----------|--------------|-----|
          |<>|<>|<>|<>|<>|
          |-----------|---|-----------|--------------|-----|
          |     m     | k | ᯮ.|       j      |  i  |
          |___________|___|___________|______________|_____|

           楫  ⨯ ࠭     ; ᠬ 
      -  .  ਬ,   ⨯ signed int ਭ 1
         ࠭  ⮫쪮 祭 -1  0,    㫥
     祭 㤥 ஢  -1.



           (K&R 9)
     -----------------------------------------------------------------

           ࡮  ॠ  ,  ᠭ  K&R,  
     ᪫祭  䨪権.



               । 譨 㭪権 (K&R 10.1)
     -----------------------------------------------------------------

           ࡮  ᠭ extern,    㭪樨,  
     ⢨  ।  .  ᠭ   㤥  ᯮ-
       ,   ஬  ।. , ࡮  -
       ᠭ,  ⮣ ⮡ ᮯ⠢   ᫥-
     騬 ᠭﬨ   ᠬ ꥪ⮢.

          ࡮  ন 設⢮ । ANSI -
       । 㭪権 K&R,  ,   ⭮,  -
     ⥫ 䨪  㭪権  ⨯ 㭪権.  ࡮  -
     ন ⠪ ᪮쪮 ᮡ⢥  ७    ।
     㭪権, ⠪  㭪樨 ⨯ interrupt (뢠).



          䨪 ⨯ 㭪樨 (K&R 10.1.1)
     -----------------------------------------------------------------

             external  static,  ࡮  ন 
     䨪஢, ᯥ  ᠭ 㭪権:  pascal, cdecl,
     interrupt, near, far  huge.



          䨪 㭪樨 pascal
          --------------------------

          䨪 pascal,  ᯮ㥬  ࡮ ,   ।祭
      㭪権 ( 㪠⥫  㭪樨),   ᯮ ਭ-
       ᪠ ᫥⥫쭮 । ࠬ஢.   -
        몥  㭪樨,    맢묨 
     ணࠬ, ᠭ   㣨 몠;  ⠪   -
       ணࠬ  譨 ணࠬ, ᠭ  몠 ⫨-
       .   㭪樨 ८ࠧ  孥  ॣ,   
     ࠢ쭮 ࠡ 騪.

          ਬ砭: ᯮ짮   樨    -p  (Calling
     convention...Pascal) 㤥  뢠 饭  ᥬ 㭪ﬨ
     ( 㪠⥫ﬨ   㭪樨)   ᫨   뫨 ⨯ pascal.
     ஬ ⮣, 㭪樨,  ⨯ pascal,  뢠 
      ணࠬ, ⠪    ணࠬ   맢  㭪-
     樨, 饩  ⨯ pascal. ਬ, ᫨    ⪮-
     ஢ ᫥ 㭪:

          pascal putnums(unt i, int j, int k)
          {
             printf("And the answers are: %d, %d  %d\n",i,j,k);
          }

     㣠  ணࠬ  ⥬      
      , ᯮ ᠭ:

          pascal putnums(int i, int j, int k);

          main()
          {
             putnums(1,4,9);
          }

          㭪樨 ⨯ pascal     ࠧ筮 ᫮ 㬥-
     ⮢, ,  ਬ, 㭪 printf.  ⮩ 稭   
     ᯮ짮     (...)   (..  ᪠  ࠧ㬥
     ࠬ)    । 㭪樨  ⨯  pascal.  (. "⨯
     㭪権"     ᯮ짮     ।
     㭪樨  ࠧ ᫮ 㬥⮢.)



          䨪 㭪樨 cdecl
          -------------------------

          䨪 cdecl ⠪  ᯥ   ࡮  .
       䨪 pascal,   ᯮ  㭪ﬨ  㪠-
     ⥫ﬨ  㭪樨.  ⢨ ⬥ ४⨢  -p
      ࠧ蠥   뢠 㭪樨   㭪樨 .  ਬ,
     ᫨   樨 襯ਢ ணࠬ ⠭ 
     -p,   ⥫ ᯮ짮 printf,   㯨 ᫥-
     騬 ࠧ:

          extern cdecl printf();
          putnums(int i, int j, int k);

          cdecl main()
          {
              putnums(1,4,9);
          }

          putnums(int i, int j, int k)
          {
              printf("And the answers are: %d, %d  %d\n",i,j,k);
          }

          ᫨ ணࠬ     樥 -p,    㭪樨,
     ᯮ㥬  ⥪ ६ 믮,  室 -
         cdecl.  ᫨  ᬮ 䠩  (⠪ 
     STDIO.H),   㢨,   㭪  ᠭ  cdecl,
     .. ࠭ ⮢  ⮬. ,   ணࠬ-
      main   ⠪   cdecl, ᪮ ⢨
     ⮢  ணࠬ, ᠭ  , ᥣ 稭 c
     맮  main.



          䨪 㭪樨 interrupt
          -----------------------------

          䨪 interrupt ⠪  ᯥ᪨  ࡮
     . 㭪樨 interrupt ᯥ樠쭮   ᯮ짮  -
     ࠬ 뢠 ஢ ⨯ 8086/8088. ࡮  㤥 -
     ஢ 㭪 ⨯ interrupt  ⥫ 㭪,  室
      室 ன ࠭  ॣ AX,  BX,  CX, DX, SI, DI,
     ES  DS.  㣨 ॣ:  BP,  SP,  SS, CS  IP ࠭ 
      ᫥⥫쭮   맮    ᠬ ࠡ⪨
     뢠. ᬮਬ  ਬ ⨯筮 । 㭪樨 ⨯
     interrupt.

          void interrupt myhandler()
          {
               . . .
          }

              㭪樨  뢠    㭪樨  ⨯
     void. 㭪樨 뢠      -
     .   , ᪫ huge,  ॣ DS  ண-
     ࠬ ᥣ .    huge  DS  
     ᥣ .



          䨪 㭪権 near, far  huge
          -------------------------------------

          䨪  near, far,  huge ᯥ  ࡮ . 
      ஢  䨪ࠬ cdecl  pascal,    
     interrupt.  -interrupt  㭪樨      near,
     far,  huge.   㬮砭 ⠭   
     . Near-㭪樨 ᯮ near-맮,  far-  huge--
     樨 ᯮ far-맮 権.        tiny,
     small,    compact  ᯥ樠쭮 ७ 㭪樨  㬮砭
      ⨯ near.   medium  large ७ 㭪樨 
     㬮砭  ⨯ far.    huge    㬮砭  -
      ⨯ huge. 㭪樨 ⨯ huge  far   ⥬ -
     祭     ॣ DS   ᥣ  -
     室   뢠 huge-㭪      뢠
      far-㭪樨. 㭪樨 ⨯ huge 筮 ᯮ  -
     室 ࣠ 䥩    몥 ᥬ 
       ᯮ짮     ࡮ .



          ⨯ 㭪権 (K&R 10.1.2)
          ------------------------------

            㭪権  K&R ᪠  ⮫쪮 㪠 
     ,  ⨯  ᪮  ࠬ஢.  ࠬ  (᫨  )
      ⮫쪮  ६  । ᠬ 㭪樨.

          ANSI ⠭  ࡮   ࠧ  ᯮ짮  ⨯
     㭪権   㭪樨.     ଠ-
       ࠬ 㭪樨.  ᯮ  ଠ
      ஢ન 맮 㭪権  ᮮ⢥⢨ ,   ⠪ 
     ८ࠧ 㬥⮢  ॡ㥬 ⨯. ᬮਬ ᫥騩
     ࠣ ணࠬ:

          long lmax(long v1, long v2);

          main()
          {
                int limit = 32;
                char ch   = 'A';
                long mval;

                mval = lmax(limit,ch);
          }

          ᯮ ⨯  㭪樨    lmax,   ணࠬ 㤥
     ८ࠧ뢠 ࠬ limit  ch  ⨯ long, ᯮ ⠭-
      ࠢ  ८ࠧ,  ० 祬   饭 
     ⥪  饭  lmax.  ⢨ ⨯ 㭪樨 -
      limit  ch 뫨  饭  ⥪, ᮮ⢥⢥,  -
      祭  ᨬ;  ⮬ 砥  lmax ।  -
     ,   ᮢ騥  ࠧ  ᮤঠ  묨.  
        ஡.    ६    K&R  믮-
       ஫ ⨯ ࠬ஢   ᫠,  ᯮ짮-
      ⨯   㭪権 祭   "窨"  㣨
     訡 ணࠬ⮢.

          ⨯ 㭪権  ⠪   㬥஢ ண-
     ࠬ. ਬ,   㭪 strcpy    ࠬ:   室
     ப   室 ப.   -   ᯮ?  ⨯
     㭪樨

          char  *strcpy(char *dest, char *source);

       .  ᫨  䠩   ⨯ 㭪-
     権,    ᯥ  䠩    -
      室  ᠭ ணࠬ,  뢠饩   㭪-
     樨.

          ᠭ 㭪樨  祭    ᪮ ⢥ ᫮
     void 砥,  㭪 ᮢᥬ   㬥⮢

             f(void)

           ⨢ 砥,  ᪮ 㪠뢠 ᯨ᮪ ࠬ஢,
     ࠧ 묨. ,    ᤥ  :

            func(int *, long);

       祭 䨪஢,  :

            func(int *count, long total);

            ,  㪠 , 㭪 func ਭ 
     ࠬ: 㪠⥫   ⨯ int,   count,  楫 -
      ⨯ long,   total.  祭  䨪  
           뢮   ᪮ -
     饭,  砥  ᮮ⢥⢨ ⨯ ࠬ஢.

          ⨯ 筮 । 㭪  㭪,  ਭ
     䨪஢ ᫮ ࠬ஢.    㭪権, ਭ ࠧ-
     筮 ᫮ ࠬ஢ (⠪,  printf), ய⨯ 㭪樨 -
      稢 ᮬ (...), ਬ

          f(int *count, long total,...)

           ⨯ ⠪  䨪஢ ࠬ ஢
      ६ 樨,   饭 ।,    ⢨
     ⨯.

          ᬮਬ ᪮쪮  ਬ஢  㭪権  -
     .

          int f();        /* 㭪 頥 稭 ⨯ int 
                            ଠ樨  ࠬ.  ᪨
                                                         ⨫ K&R */

          int f(void);    /* 㭪 頥 祭 ⨯ int, */
                                        /* ࠬ  । */

          int p(int,long); /* 㭪 頥 楫,  砥 */
                                                 /*  ࠬ; */
                            /*   ⨯ int, ன - long */

          int pascal q(void); /* 㭪 ⨯ pascal,  */
                                 /* 楫; ࠬ  । */

          char far * s(char *source, int kind); /* 㭪 - */
                              /* 頥 㪠⥫ ⨯ far  ப,*/
                 /* 砥  ࠬ: ⨯ char*  ⨯ int */

          int printf(char *format,...);      /* 㭪 頥 */
                           /* 祭 ⨯ int,  㪠⥫ */
                            /*  䨪஢ ࠬ ⨯ char */
                   /*   ⢮ ⥫ ࠬ஢ */
                                              /* ⭮ ⨯ */

          int (*fp)(int);    /* ⥫  㭪,  */
                                /* 楫   ⢥ */
                                                 /* 楫 ࠬ */

           ਢ ࠢ, ॣ騥 ࠡ  䨪-
     ࠬ 몠  ଠ묨 ࠬࠬ   맮  㭪権  ࡮
     ,  ᯮ ⨯, ⠪   ᯮ :

     ࠢ #1. 䨪 몠  ᠭ 㭪権  ᮢ-
                     䨪ࠬ,  ᯮ㥬묨  
                 㭪樨,   饭  㭪樨.

     ࠢ #2. 㭪    祭 ଠ  ࠬ-
                 ஢,      뢠 - ⢨ 
                 祭 ⢨⥫ 㬥⮢  뢠饩 ண-
                 ࠬ,  ᪫祭 㭪権 뢠.  襩
                 ଠ樨 ᬮ "㭪樨 뢠"   12.

          ᫨ ⨯ 㭪樨   ।⥫쭮,    ࡮
      ८ࠧ   楫᫥  㬥  饭  㭪樨
     ᮣ᭮ ࠢ, ਢ  ࠧ "䬥᪨ ८-
     ". ᫨ ⨯ ,   ࡮  ८ࠧ -
      㬥  ⨯, 祭  ࠬ஢.

          ᫨ ⨯ 㭪樨 砥  (...),    ࡮  
     ८ࠧ      㬥  㭪樨    㣮
     ⨯ ( ).   㤥    -
     ,  ᫥ 䨪஢ ᫠ ࠬ஢  ଠ-
      ࠢ  㬥⮢ 㭪権  ⨯.

          ᫨  ⨯,  ᫮ 㬥⮢   ᮮ⢥-
     ⢥ ( ᪫祭 ,      ⨯ ᯮ짮
     ).       ᮢ⨬  ⮫쪮   ࠧ, 
     ⮣  ⮡  ४⭮  ந  ८ࠧ  ⨯.  
     ᥣ    ᯮ짮    ८ࠧ  㬥⮢ 
     ⨯, ⨬  ⨯ 㭪樨.

          騩 ਬ ᭨  砭:

        int strcmp(char *s1, char *s2);       /*  ⨯ */
        int *strcpy();                          /*  ⨯ */
        int samp1(float, int, ...);            /*  ⨯ */

        samp2()
        {
        char *sx, *cp;
        double z;
        long a;
        float q;

        if (strcmp(sx, cp))      /* 1. ୮ */
            strcpy(sx,  cp,  44);/* 2. ୮,   ७ᨬ 
                                                          ࡮  */

        samp1(3, a, q);          /* 3. ४⭮ */
        strcpy(cp);              /* 4. 訡  믮 */
        samp1(2);                /* 5. 訡  樨 */
        }

           맮 (  ਥ)  ਬ  
     ࠧ ਠ 맮 㭪権  ⨯.

           맮 No 1 ᯮ짮 㭪樨 strcmp  ᮮ⢥-
      ⨯,  ࠢ   砥.

           맮 No 2  饭    strcpy    譨  㬥
     (strcpy ।    㬥⮢,     ).   ⮬
     砥 ࡮   讥 ⢮ ६  ᮧ 
      饭 譥 㬥  ⥪.  , ,  
     ᨭ⠪᪮ 訡, ᪮     ᫥ -
     㬥⮢ strcpy.  맮  ⨬  㣨 ஢.

           맮  No 3  ⨯ ॡ,  ⮡  㬥 
     samp1  ८ࠧ  float,   ன -  int.  -
      ।०         ᪮
      ८ࠧ ⨯ long  ⨯ int 뢠 訥 -
     . (    ⠪ ।०, ᫨ 
      ८ࠧ  楫.) ⨩ 㬥, q, ᮮ⢥
         ⨯.    ८ࠧ  ⨯ double ᮣ᭮
     筮 䬥᪮ ८ࠧ.  맮  ४-
     ⥭.

           맮  No 4 ᭮ 뢠 strcpy,   ᫮ 㬥⮢
     ᫨誮 .  맮 訡  믮 ணࠬ. -
      㤥     (᫨   ᫮ ࠬ஢ ⫨砥 
     ᫠ ࠬ஢  ।饬 맮 ⮩  㭪樨),  ..   
     strcpy  । ⨯ 㭪樨.

           맮  No 5 㭪樨 samp1  ᫨誮  㬥⮢.
     .. samp1  ॡ   㬥,   
     訡.     뤠 ᮮ饭  ⮬,    맮 
     墠⠥ 㬥⮢.

           砭: ᫨  ⨯ 㭪樨  ᮮ⢥
     ⢨⥫쭮 । 㭪樨,   ࡮  㦨  
     ⮬  ⮫쪮  ⮬ 砥,  ᫨  । 室   ⮬
      䠩,    ⨯. ᫨  ᮧ ⥪ ணࠬ 
     । ஬ ⨯ (䠩 include),      
     뢠 祭  䠩  ⨯  ६ 樨 -
     ⥪,   楫   ⨢  ⨯
      ⢨⥫묨 ।ﬨ 㭪権.



               ࠢ  (K&R 11)
     -----------------------------------------------------------------

          ࡮  ࠧ蠥  ᢮ 饭  㭨묨
     䨪ࠬ, 祬 ⮣ ॡ K&R.   ࡮  ࠧ -
       䨪஢:

          ६,       ⨯,   뢠    
     typedef,   ᫥ 童     㭨묨  
     ,  ஬  ᠭ. 䨪,  譨-
     ,   㭨묨 । ६, ᠭ  -
     .

           ,  ꥤ  ᫥   㭨-
     묨  ,   ஬  ᠭ.  , ᠭ-
       । - 㭪樨,    㭨 ।
      ᮮ⢥ , ᠭ  譨.

           童    ꥤ    㭨
        ꥤ,    ᠭ.  
      ࠭祭  ⨯  ᬥ饭   童  묨
       ࠧ .

          ⪨      뫠     goto   
     㭨묨  㭪樨,  ன  ।.



                ࠢ ࠭樥 (K&R 12)
     -----------------------------------------------------------------

          ࡮  ন  ࠢ騥 , ᠭ  K
     &R. ⨬   ४⨢ ९ - ப -
     室 ணࠬ,  稭騥   #,     ।
       ᫥ ᨬ ஡  ⠡樨.



                ᥬ (K&R 12.1)
     -----------------------------------------------------------------

          ࡮  ন । K&R   #define   #undef
      ᫥騬 ﬨ:

          1.  ਢ 䨪      
     ४⨢ #define  #undef:

          _STDC_
          _FILE_
          _LINE_
          _DATE_
          _TIME_

          2.  ᥬ   饭   ம।
      ࠧ   ## ( 易⥫ ஡  
     ஭). ९  㤠 ஡  ##,  ⠪ 
     ࠧ ᥬ.      ᯮ짮    ᮧ
     䨪஢, ਬ, :

          #define VAR(i,j)          (i ## j)

       VAR(x,6)  饭  맮  ⠭  x6.   
      㯮ॡ塞,   ७ᨬ  (i/**/j).

          3.      ப  ம।  ࠡ
      ⮣,    ࠡ⠥ ᠬ ,      ᠭ.
       ᠥ  ᮢ #undef.

          4.  #,  頥 । ஠㬥⮬,  㪠 
     ᫥⥫쭮, ८ࠧ 㬥  ப.  ய-
     ⠭ ந  #<ଠ 㬥>   "<⢨-
     ⥫ 㬥>". ,   ம।

       #define TRACE(flag) printf(#flag "= %d\n", flag)

     ᫥騩 ࠣ ⥪ ணࠬ

          highval = 1024;
          TRACE(highval);

     ८ࠧ :

          highval = 1024;
          printf("highval" "= %d\n", highval);

     ,  ॢ, ⠭

          highval = 1024;
          printf("higval=%d\n",hidhval);

          5.   ⫨稥  㣨 ॠ権,  ࡮   ⠢
     ஠㬥  ப  ᨬ ⠭.



               祭 䠩 (K&R 12.2)
     -----------------------------------------------------------------

           ࡮  ४⨢ #include ॠ ᮣ᭮ K&R,  
     묨 ⥫묨   ᮡﬨ.  ᫨ ९ 
     襫 include 䠩  ⠫, ⠭  㬮砭, (।-
     ,    ᯮ  include "filename"), ⮣
       ⠫,  樥  -I. ᫨  ᯮ-
         #include <>,  ⮣  ⮫쪮 ⠫,
      樥 -I.  (⠫,  ᫥       樨
     O/Environment/Include,    ,  㪠  -
      樨 -I pathname   ப.

               #include,  १ ࠭ ࠧ-
     ⥫, ᯮ ७. ᫨ ᫥ ᫥ 祢
     ᫮ ப  稭  䨪,   ९ -
     ਢ ⥪  .  , ᫨ ப 祭  -
     窨    ᪮,   ࡮   㤥 ஢  
     ᯮ . ਬ,

          #define myinclude     "c:\tc\include\mystuff.h"

          #include myinclude

          #include "myinclude.h"

          1-  #include   ⠢ ९ ᬠਢ
     C:\TC\INCLUDE\MYSTUFF.H,   ⮣      2-   맮  ᬮ
     MYINCLUDE.H  ⠫  㬮砭.

          ஬ ⮣,       ᯮ짮 ꥤ 
     ப  ⠢ ᥬ  ,  ᯮ  -
      include. ७  ᮧ ⥪,  -
       ଠ쭠 #include ४⨢.



               ᫮  (K&R 12.3)
     -----------------------------------------------------------------

          ࡮  ন । ᫮ 樨 K&R  
         ᮮ⢥  ப   .  㥬
     ப 稭  ४⨢ #if,  #ifdef, #ifndef, #else, #elif,
      #endif,  ⠪    㥬 ப, 騥 -
     ⮬  ४⨢.  ४⨢ ᫮ 樨 
     稢   室 ணࠬ  include 䠩,   
      砫.

          ࡮  ন ⠪   ANSI  defined(ᨬ).
     祭 1 (true)  ᢠ,  ᫨ ᨬ  ।⥫쭮
     । ( ᯮ짮 #define)   ⥬    ⬥  (
     ᯮ짮 undef);       ⨢  砥  ᢠ  0
     (false). , ४⨢

          #if defined(mysym)

     ⭠ ४⨢

          #ifdef mysym

          २⢮  ⮬,    ୮ ᯮ짮 defined
      ᫮ ࠦ, 饬  ४⨢ #if:

          #if defined(mysym) || defined(yoursym)

          , ࡮  ( ⫨稥  ANSI)  ᯮ짮
      sizeof   ࠦ ९.     -
      ᫥饥:

          #if (sizeof(void *) == 2)
          #define SDATA
          #else
          #define LDATA
          #endif



               ࠢ ப (K&R 12.4)
     -----------------------------------------------------------------

          ࡮  ন । #line,    K&R. -
     ७ ᮢ  #line ⠪ ,    #include.



               ४⨢ error (ANSI  3.8.5)
     -----------------------------------------------------------------

          ࡮  ন ४⨢ #error,   㯮
     (  ।   )  ANSI-⠭.  ଠ:

          #error errmsg

      뢠 ᮮ饭

          Fatal: filename line# Error directive: errmsg

       (⠫쭠 訡: 䠩 ப# 訡  ४⨢: errmsg)

            ணࠬ⮢  ਭ    ४⨢  ᫮
     ९,  墠뢠   ⥫  ﭨ
       ६  樨.   ⭮ 室  ﭨ 
     㤥 true.   砥, ᫨  ﭨ true,   -
      ᮮ饭  訡  ⠭ .  ⠢
     ४⨢ #error  ᫮,  ண true  -
     ⥫ 室.  ਬ,  ।,   #define MYVAL
     ਭ 祭  0  1.   ஢  -
     ४⭮ 祭 MYVAL, ᫨    室  ᫥-
     饥 ᫮:


          #if (MYVAL != 0 && MYVAL != 1)

          #error MYVAL   । ⮫쪮  0  1

          #endef

          ९ ᬠਢ ⥪,  㭨⮦ ਨ,  
      ࠭   뢮  ⠢訩  ⥪  ᬮ  
     ᮢ.



               ४⨢ pragma (ANSI  3.8.6)
     -----------------------------------------------------------------

          ࡮  ন ४⨢  #pragma,     (  
     error), ᭮  ।  ⠭ ANSI.   楫 
     ࠧ ᯥ樠஢ ४⨢  ଥ:

          #pragma < ४⨢>

            #pragma ࡮   ।  ४⨢,
         ॡ,    ⥫⢠ 㣨 ஢,
     ন #pragma.  祬? ⮬ ,  ।, ᫨
         ४⨢,      ४⨢
     #pragma.



          #pragma inline
          --------------

          ࡮  ᯮ  ४⨢ #pragma. ࢠ:

          #pragma inline

           ४⨢ ⭠ 樨  -B.  ᮮ-
        ⮬,    ணࠬ  ᥬ஢-
        (.   12).  襥  ᯮ - 砫
     䠩, ..  ᠬ१᪠  樥 -B ࠧ, 
     ⮫쪮  #pragma inline.   ᠬ ,   -
        -B,   ४⨢ #pragma inline, ..  
     ࠢ ᠬ१᪠,      ⮫쪮  asm ;
     楫 ⮩ 樨  ४⨢    ६  -
     樨.



          #pragma warn
          ------------

           #pragma ४⨢ - 

          #pragma warn

           ४⨢     ਭ   ᯥ-
        ப  -wxxx  (  ᯥ䨪  Display
     warnings...On ).

          ਬ, ᫨  室 ⥪ ணࠬ ᮤন ४⨢:

          #pragma warn +xxx
          #pragma warn -yyy
          #pragma warn .zzz

            xxx  뢮 짮⥫ ।० (᫨ 
        O/C/Errors/    뫠 몫祭);  yyy 몫 뢮
     ᮮ饭;    zzz ⠭  ࢮ砫쭮  祭, ஥
     뫮  砫 樨 䠩.

           ᯨ᮪ 姭 ॢ   ।०, -
          몫,  ਢ  ਫ  ࠢ-
      㪮⢠  ࡮ .


          #pragma-४⨢ saveregs

           pragma-४⨢ ࠭  huge-㭪樨  
     祭  ॣ஢   ⮣.  ४⨢ 
     㦭  ࣠樨 䥩  몮  ᥬ.  ४⨢
       ࠧ饭 ।⢥ । ।塞 㭪樥.
       㤥 ਬ ⮫쪮  ⮩ 㭪樨.



               ४⨢ null (ANSI  3.7)
     ----------------------------------------------------------------

           襭, ANSI-⠭  ࡮   
     ४⨢,    ப   #.  ४⨢ ᥣ
     .



               ஥ ந (ANSI  3.8.8)
     ----------------------------------------------------------------

          ANSI ⠭ ॡ ⮡   ॠ樨  뫮 5 ஥
     ᮢ.  ࡮  ਬ   5.  ⬥⨬,    
     稭  稢 ᨬ ન (__).

     _LINE_  ࠡ뢠 ப 室 ணࠬ -  -
             ⠭.    ࢠ ப 室 䠩 ।
             1.

     _FILE_  ࠡ뢠 室 䠩 - ப ᨬ.
             ம।  直 ࠧ,    -
            ⪥ ஬ ४⨢ #include  ४⨢ #line,
              砭 砥 䠩.

     _DATE_  砫 ࠡ⪨ ⥪饣 室  䠩  -  ப
            ᨬ.

             宦  _DATE_   䠩 ࠭ 
            祭, ᨬ   த⥫쭮 ࠡ⪨. 
             ଠ   mmm  dd yyyy,   mmm -  (Jan,  Feb 
            ..), dd  - ᫮ ⥪饣  (1...31;  ࢮ -
            樨 dd ⠢ ஡,  ᫨ ᫮  10), yyyy - 
            (1988, 1989  ..).

     _TIME_ ६ 砫 ࠡ⪨ ⥪饣 室 䠩 ९-
            ஬ - ப ᨬ.

             宦  _TIME_   䠩 ࠭ 
            祭, ᨬ  த⥫쭮 ࠡ⪨. ६
             ଠ hh:mm:ss,  hh -  (00...23), mm - 
            (00...59), ss - ᥪ㭤 (00...59).

     _STDC_ ⠭,  ࠢ 1,  ᫨    (-A)  䫠
            (ANSI keywords only...ON), ⠭騬 ᮢ⨬ 
            ANSI ⠭⮬;  ம।  ।.



               ஥  ࡮ 
     -----------------------------------------------------------------

           襣 ᯮ짮 ९  ࡮    ।
     ᪮쪮 ⥫ ᮢ. ,   ᮢ, ।-
     ᠭ ⠭⮬ ANSI,    稭  稢
      ᨬ ન.

     _TURBOC_  뤠  ⥪饩 ᨨ ࡮  - ᭠筠
               ⠭.  1.0 ।⠢  0x0100; 
               1.2 -  0x0102  ..

     _PASCAL_  । 稥  䫠  -p;  ⠭  楫
               ⠭, ࠢ  1,  ᫨ ᯮ 䫠 -p; 
                ।.

     _MSDOS_    ⠭, ࠢ 1,   ஢

     _CDECL_     ⮬,     䫠  -p    ᯮ짮
               (Calling convention...C); ⠭ 楫  ⠭-
               , ࠢ  1,  ᫨ 䫠 -p  ᯮ짮;  
               ।.

          騥 6 ᮢ   ࠭  樨 -
      .    樨 । ⮫쪮  
     ; ⠫ (-।)   ।.  ਬ, ᫨
         ,   । _SMALL_,   -
     ⠫ - ; ⮬ ४⨢ #if defined(_SMALL_) 㤥 
     祭 true (⨭),    ६  #if defined(_HUGE_)  (
      㣠)  㤥  祭 false ().  ⢨⥫쭮
     祭   ।  ࠢ 1.

     _TINY_        롮 ⭮  

     _SMALL_       롮   

     _MEDIUM_      롮 ।  

     _COMPACT_     롮 ⭮  

     _LARGE_       롮 让  

     _HUGE_        롮 ஬  



          ஭ (K&R 17)
     -----------------------------------------------------------------

             㯮   K&R ஭  ࡮   -
     .
