.pl 54
.
.
#   ᮡ ᠭ  ࠭
ॠ樨 몠 .  ⫨ ॠ樨  몠, ᠭ
 [1] (  ⥪   祭  K&R),
맮   । 痢.
.  몠    MS-DOS
. 1
  BORLAND Turbo-C V1.5
# Turbo-C ন  ⮫쪮 ।,   K&R, 
 設⢮ ७ ANSI-⠭.
  ࠧ ਢ   K&R;
뫪   ᮮ⢥騥 ࠧ ਫ
"ࠢ筮 㪮⢮   C".
. 2
ਨ
(K&R 2.1)
# ᪠  ਨ.  ⮬ 砥 ணࠬ  ஢
 䫠 -C.  ᯥ祭 쭮 㤮 ⬥ ,
   ஢, ४⨢ #if 0  #endif.
. 2
䨪
(K&R 2.2)
#  䨪 ᪠  $.  䨪 
稭 ⮫쪮  㪢  ᨬ (_).
騬   32 ᨬ 䨪.
  ᫠  ᨬ  ᯮ짮
 樨  -i#.
# 32 ᨬ  騬     䨪஢,
  㣨 㫥.
. 2
祢 ᫮
(K&R 2.3)
#  ਢ 祢 ᫮, १ࢨ஢
Turbo-C (TC)  ७ﬨ ANSI-⠭ (AN).
 ᫮    ᯮ짮  ⢥  䨪஢.
祢 ᫮ entry  fortran, 㯮  K&R,  ᯮ
 Turbo-C.
.sw
        TC      asm             TC  _cs         TC  _DH
        TC      cdecl           TC  _ds         TC  _DL
        AN      const           TC  _es         TC  _DX
        AN      enum            TC  _ss         TC  _BP
        TC      far             TC  _AH         TC  _DI
        TC      huge            TC  _AL         TC  _SI
        TC      interrupt       TC  _AX         TC  _SP
        TC      near            TC  _BH
        TC      pascal          TC  _BL
        AN      signed          TC  _CH
        AN      void            TC  _CL
        AN      volatile        TC  _CX
. 2
⠭
(K&R 2.4)
# Turbo-C ন  ⨯ ⠭, ।  K&R, 
묨 ७ﬨ.
. 2
 ⠭
(K&R 2.4.1)
# ᪠  ⠭   0...4294967295.
(⥫ ⠭ ᬠਢ  ,
  ਬ 㭠  "".
# 䨪 U ( u), 砥  ⠭  ⨯
unsigned. ⠭ 㤥  ⨯
unsigned long, ᫨  祭 㤥 ॢ
65535, ᨬ  ᯮ㥬 ᭮.
.  ᯮ짮  L, ⠪  U 䨪
   ⮩  ⠭.
. 3   ⠭ Turbo-C ( L  U)
------------------------------------------------------
                        
------------------------------------------------------
        _________⠭_________
0-32767                         int
32767-2147483647                long
2147483648-4294967295           unsigned long
>4294967295                 㤥 ९
                             ।०;
                             १ 
                            ᠭ 訥 
                            ⢨⥫쭮 १
        ________쬥_⠭________
00-077777                       int
0100000-0177777                 unsigned int
01000000-017777777777           long
010000000000-0377777777777      unsigned long
>0377777777777              㤥 ९
     ________⭠_⠭_________
0x0000-0x7FFF                   int
0x8000-0xFFFF                   unsigned int
0x10000-0x7FFFFFFF              long
0x80000000-0xFFFFFFFF           unsigned long
>0xFFFFFFFF                 㤥 ९
. 2
 ⠭
(K&R 2.4.3)
#  ⠭ ।⠢ 16-⮢ 稭 ⨯ int.
# Turbo-C ন ANSI-७, ᪠饥
⭠筮 ।⠢  ᨬ.
ਬ, '\x1F'  '\x82'.
# ஬ ⮣, ন 㣮 ANSI-७,
᪠饥  ESC-᫥⥫쭮.
 ᯨ᮪ ESC-᫥⥫쭮⥩ ।⠢ ᮡ  ᯨ᪠,
ਢ  K&R.
. 3 ESC-᫥⥫쭮 Turbo-C
------------------------------------------------------
᫥⥫쭮          ਬ砭
------------------------------------------------------
\a                  0x07   BEL       㤮
\v                  0x0B   VT        ⨪쭠
                                       ⠡
\"                  0x22   "          窠
\?                  0x3F   ?
\DDD                           ⮦,  /ddd  K&R
\xHHH               0xHHH      HHH=1,2  3
                                   ⭠
                                        
. .. Turbo-C ᪠ ᨬ ⠭,
  ᫥, ᫨
쬥筠 ESC-᫥⥫쭮
 祬    । .
 ⠪ ,
Turbo-C 㤥 ।,  ᫥騩 ᨬ - 
ESC-᫥⥫쭮,
 ᫨ ᨬ  ᪠   ⨯
ᥫ.
ਬ, ⠭ \258 㤥 ஢  ᨬ쭠 ⠭,
  ᨬ \25  8.
. 2
⠭  饩 窮
(K&R 2.4.4)
#  ⠭, ।  double,
।⠢ ᮡ ⠭  饩 窮.
, ⠭  饩 窮   ⨯
float; 室  䨪 F  f   祭.
. 2
ப
(K&R 2.5)
# Turbo-C ᪠ ப 
 ᨬ ⠭; ப ⠭ 㤥
।⠢ ᮡ ꥤ ⮢.
# ਬ,
.
main()
 {
     char *p;
     p=" ணࠬ - ਬ ⮣,  Turbo-C"
       "㤥 ⮬᪨\n⢫ ꥤ"
       "ப  祭  ப;\n"
       "⠪  ᯮ  襩"
       "來 ணࠬ.\n"
 }
. 2
ᨬ  設
(K&R 2.6)
. 3 ᮪ ࠧ ⨯   Turbo-C
------------------------------------------------------
             ( )        
------------------------------------------------------
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             64           1.7E-308-1.7E+308

pointer                 16       (near, _cs, _ds, _ss)
pointer                 32              (far, huge)
.  long double ᪠,  ᬠਢ 
double.
. 2
८ࠧ
(K&R 6)
. 2
Char, int  enum
(K&R 6.1)
# ८ࠧ ᨬ쭮 ⠭  楫  १⮬ 16-⮢
祭. ८ࠧ ᨬ쭮 ꥪ (६) 
楫᫥ ꥪ  १⮬ ⮬᪮
 ७, ᫨  ᤥ  㬮砭 ⨯ char
 (ᯮ  樨  -K).
ꥪ ⨯ signed char ᥣ  ᯮ  ७;
ꥪ ⨯ unsigned char ᥣ ⠭ 訩   ,
 ८ࠧ  int.
# 祭 ⨯ enum ८ࠧ  int  䨪樨;
筮 ⨯ int ८ࠧ  ᫨ ⨯.
. 2
⥫
(K&R 6.4)
# ⥫, ᯮ㥬 ணࠬ,   ࠧ ࠧ஢,
 ᨬ  ᯮ㥬  .
ਬ,    ணࠬ, ᯮ ᯥ樠  ,
㥬 䨪 ( ॣ) (near, huge, far, _cs, _ds,
_ss, _es)   ਭ   ࠧ 㪠⥫,
   .
# ⥫     㪠⥫  
ᯥ樠 ⨯,  ᫨  ⨯ - void (  ⢨⥫쭮
砥 㪠⥫  祣). ,  , 㪠⥫
 㪠뢠  ꥪ  㣮 ⨯.
Turbo-C  ७ 㪠⥫,   㤥
।०,  ந諮 ७祭 㪠⥫ -
᫨ 㪠⥫   ࢮ砫쭮 । 
㪠⥫  ⨯ void.  㪠⥫  ⨯  
  ८ࠧ  㪠⥫  ⨯ 㭪権,  .
. 2
䬥᪨ ८ࠧ
(K&R 6.6)
# ८ࠧ ࠭  䬥᪨ ࠦ
믮  ᫥騬 ࠢ:
.na
 -integer  -double ⨯ ८ࠧ 
  ⠡, ਢ .
.na
᫨ -  ࠭  ⨯ double, 㣮 ࠭
⮦ ८ࠧ  double.
.na
᫨ -  ࠭  ⨯ unsigned long, 㣮 ࠭
⮦ ८ࠧ  unsigned long.
.na
᫨ -  ࠭  ⨯ unsigned, 㣮 ࠭
⮦ ८ࠧ  unsigned.
. 4 ⮤ 䬥᪨ ८ࠧ
------------------------------------------------------
                  
           ८ࠧ          ⮤
------------------------------------------------------
char               int              
unsigned char      int         㫥 訩 
                                        (ᥣ)
signed char        int          (ᥣ)
short              int         ᫨ ,
                                  int
enum               int           稭
float              double        0
. 2

(K&R 7.2)
# Turbo-C ন 㭠  +. 筮
Turbo-C ⢫ ॣ㯯஢ ࠦ,
㯮冷稢 ⨢  (⠪  *   +),
 ᮧ ࠦ 䥪⨢  樨.
 Turbo-C  㤥 ८࣠뢠 ࠦ  㭠 ஬ +.
⥫쭮,   ஫஢ ᫥  饩 窮,
.. ⫠ 訡 筮  ९, ᯮ 㭠  +,
  ⮬  ࠧ 楫 ࠦ    ⤥ ࠦ.
ਬ, ᫨ a, b, c  f  ⨯ float, ࠦ
# f=a++(b+c)
. 1
㤥  ᫥騬 ࠧ:  १ (b+c)
㤥 ਡ  a.
. 2
䨪樨 ⨯
(K&R 8.2)
# Turbo-C ন ᫥騥 ᭮ ⨯,  㪠  K&R.
. 1
unsigned char
. 1
unsigned short
. 1
unsigned long
. 1
long double
. 1
enumeration
. 1
viod
#  long double ⥭ ⨯ double.
. 2
 enum
# Turbo-C ন  ᫨ ⨯ 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 - ஢ઠ ⨯  ந.
. 2
 void
# Turbo-C ন ⨯ void, ।  ANSI-⠭.
 ⨯ ᯮ   ᠭ 㭪権,   祭.
筮, ⮩ ᯨ᮪ ࠬ஢ 
  ᫮ void.
ਬ,
.sw
void putmsg(void)
 {
        printf("Hello, world\n");
 }

main()
 {
        putmsg();
 }
#  ८ࠧ뢠 ࠦ  ⨯ void,  ⮣ ⮡  㪠, 
祭, 頥 㭪樥, .
ਬ, ᫨   ਮ⠭ 믮 ணࠬ    
짮⥫   - ,   :
.sw
        (void) getch();
# ஬ ⮣,   㪠⥫  ꥪ ⨯ void.
 㪠⥫  㤥 㪠⥫  祣; ᮧ 㪠⥫ 
- ꥪ , ⨯ ண  室 ।.
  ᢠ  㪠⥫ 㪠⥫ ⨯ void,  ⭮.
    ᯮ짮  ᢥ 樨 (*),
.. ᯮ㥬 ⨯ ।.
. 2
 䨪
# ஬ 㪠  K&R  ⨯ 䨪஢ -
long, short  unsigned - Turbo-C ন  :
signed, const  vilatile (ANSI-⠭).
# 䨪 signed  㪠뢠,  稭  .
 䨪 ᯮ २⢥  㬥஢
 襭 ணࠬ. , ᫨   ணࠬ,
ᯮ  㬮砭  ⨯ char ( ),
室 ᯮ짮 䨪 signed,  ⮣ ⮡
। ६  㭪 ⨯ signed char.
䨪 signed, ᯮ짮 ᠬ  ᥡ, 砥 signed int,
⠪  unsigned 砥 unsigned int.
. 2
䨪 const
# 䨪 const,  ।  ANSI-⠭,
 ᪠     뫮 ८। 祭
⠭   㣨  ᢥ ⢨,
⠪  㬥襭  㢥祭.
⥫  ⨯ const    ,  ⫨稨  ᠬ
ꥪ,   ।.
. 䨪 const, ᯮ㥬 ᠬ  ᥡ, ⥭
const int.
ᬮਬ ᫥騩 ਬ:
.sw
        const float pi          =3.1415926;
        const       maxint      =32767;
        const *char str         ="Hello, world";
# ਢ  ⢥ত ⨬:
.sw
        pi  = 3.0;              /* ᢮ 祭
                                        ⠭ */
        i   = maxint--;         /* 襭 ⠭ */
        str = "Hi, there!";     /* ७祭 㪠⥫ */
. , 맮 㭪樨 strcpy(str,"Hi, there!") ⨬,
..   砥 ⢫ ᨬ쭮 ஢ ப
"Hi, there!"  祩 , ।塞 str.
. 2
䨪 volatile
# 䨪
volatile
-   ⨢ const.
 㪠뢠,  ꥪ   ;   ⮫쪮 ।⢥
襩 ணࠬ,   ⠪ 譨 ⢨, ⠪ 
ணࠬ 뢠   /뢮. 
ꥪ 
volatile ।० ,   㦭  ।
 ⭮⥫쭮
祭 ꥪ,   ६  業 ࠦ,
 ᮤঠ騥, .. 祭  (⥮᪨)
   . ஬  ⮣, ᯮ짮
 䨪    ᯮ짮
 ६
ॣ஢ ६.
# ਬ:
.sw
        volatile int ticks;
        interrupt timer();
        {
                ticks++;
        }

        wait (int interval)
        {
                ticks=0;
                while(ticks<interval);
        }
#  ணࠬ  ""  祭 ६, 㪠  㬥
interval.
⨬,    ᮪ ஢ ⨬樨 
 㧨 祭 ticks  横 while, .. 横   祭
ticks.
. 2
䨪 cdecl  pascal
# Turbo-C    襩 ணࠬ  ணࠬ,
ᠭ  㣨 몠,  .
 ᬥ訢 몮       묨 ꥪ⨬:
䨪ࠬ  ।묨 ࠬࠬ.
#    ணࠬ  Turbo-C,
  䨪 ணࠬ, ..  㭪権 
 ६, ࠭  ꥪ⭮ , 祭
 १ 樨,  ࠡ । 痢.
 㬮砭  䨪 ࠭  ᢮ ࢮ砫쭮 
(. ࠭묨 묨, 묨  ⥬  㣨 㪢).
஬ ⮣, ᨬ (_) । 䨪, ᫨  
ᯮ짮  -u-  樨.
# 筮,  譨 䨪,   ணࠬ,
  ⮬  ᠬ ଠ.  痢 ( 㬮砭)
ࠧ砥 ॣ , ⮬ 䨪, ᯮ㥬
 ࠧ ணࠬ,   ᮢ 
 窨 ७ 䮣䨨 ⠪  ॣ஢ .
. 3
pascal
#  । , ਬ  ᯮ짮 ,
ᠭ  㣨 몠,  ᠭ  ⮤ ࠭ ,
ਬ塞  㬮砭,  맢  ஡.
Turbo-C    ஡.
   䨪  䨪 ⨯
pascal.  砥,  䨪 ८ࠧ
 孥 ॣ    ᨬ ન.
(᫨ 䨪 㭪,  ࠢ ࠭ 
। ࠬ.)
. 3
cdecl
#   䨪  室 䠩  ᤥ
䨪ࠬ ⨯ pascal, ᯮ  -p  樨. ,
  㪠,  । 䨪 - 䨪 
᪠᪮ ⨯.
     cdecl, ( ࠢ ࠭
  ।  㭪 ࠬ).
.  㭪樨  ⥬ include-䠩 (ਬ, stdio.h)
 ⨯ cdecl.  
 ⥬ ⥪, ᫨  ᯮ  -p
 樨.
. 2
䨪 near, far  huge
#  䨪   ᢥ  (*),
 ,  㪠⥫  .
# Turbo-C  ᯮ짮 ࠧ  .
,   ᯮ, । 譨  ଠ 㪠⥫ 
. ᫨  ᯮ ""   (tiny, small, medium),
 㪠⥫   ⮫쪮 16    ᬥ饭
⭮⥫쭮 ॣ ᥣ  (DS). ᫨ ᯮ
""   (compact, large, huge),  㪠⥫ 
   32    
 ᥣ, ⠪  ᬥ饭.
#   ,  ᯮ  ࠧ  ,
  㪠⥫  ࠧ஬  ଠ⮬, ⫨  ᯮ㥬
 㬮砭.     䨪஢
near, far  huge.
# ⥫ ⨯ near - 16-;  ᯮ ⥪饥 ᮤন
ॣ ᥣ  (DS)  ।  ᥣ.  㬮砭
ᯮ    .  ᯮ짮 㪠⥫ ⨯
near,   襩 ணࠬ ࠭祭 ࠧ஬ ⥪饣 ᥣ  64.
# ⥫ ⨯ far - 32-;  ᮤন 
, ⠪  ᬥ饭.  㬮砭 ᯮ   .
 ᯮ짮 㪠⥫ ⨯ far ᪠ 뫪    ।
1- ᭮ ࠭⢠ ஢ Intel 8088/8086.
# ⥫ ⨯ huge - 32-; 筮 ।饬,
ᮤন  ᥣ  ᬥ饭, ,  ⫨稨  㪠⥫ ⨯
far, 㪠⥫ huge ᥣ ন ଠ:
. 1
 ⭮襭 (==, !=, <, >, <=, >=)  ࠡ ࠢ쭮  㪠⥫ﬨ
⨯ huge;    㪠⥫ﬨ ⨯ far.
. 1
 䬥᪨ 樨  㪠⥫ huge   
 ᥣ, ⠪   ᬥ饭 (- ଠ樨);
 ᯮ짮 far 㪠⥫ - ⢨ ⮫쪮  ᬥ饭.
. 1
 㪠⥫ ⨯ huge   㢥祭  ।
1 ᭮ ࠭⢠; 㪠⥫ ⨯ far   ।
⥫⢠ 横᪨ 室  砫 64 ᥣ.
. 1
 ᯮ짮 㪠⥫ ⨯ huge ॡ ⥫쭮 ६,
.. ணࠬ ଠ樨  뢠 ᫥ 믮 
䬥᪮ 樨  㪠⥫ﬨ.
. 2
  ꥤ
(K&R 8.5)
# Turbo-C ᯥ稢 ᫥騥 ⥫ .
. 2
ࠢ ᫮
#  ᫨  樨 ᯮ  -a, Turbo-C
㤥  ⠬  ( ꥤ) ⠪ ࠧ, 
ॡ  ࠢ ᫮.
ᯥ稢 ᫥饥:
. 1
 㤥 稭  ࠭ ᫮ ( ).
. 1
 童, 騩 -char ⨯, 㤥  ⭮ ᬥ饭 
砫 .
. 1
   㤥   (᫨ 室), 
࠭⨨ ⮣, 
 ᮤন ⭮ ᫮ .
. 2
⮢ 
# ⮢    ⨯  signed,  unsigned int 
   1  16 ⮢. ⮢  ࠧ  ࠢ
   訬
⠬  ᫮. ਬ, 
.sw
        struct mystruct {
                int             i : 2;
                unsigned        j : 5;
                int               : 4;
                int             k : 1;
                unsigned        n : 4;
        } a, b, c;
. 1
ᯥ稢 ᫥饥 ࠧ饭:
. 10
.sw
 __________________________________________________
 |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.
. 2

(K&R 9)
# Turbo-C 믮   ᪫祭 , ᠭ 
K&R.
. 2
। 譨 㭪権
(K&R 10.1)
# ᠭ extern,   㭪樨,  ⢨
 ।  .
ᠭ  㤥 ᯮ  ,  ஬  ।.
, Turbo-C 㤥 "" ᠭ,  ⮣ ⮡
ࠢ   ᫥騬
ᠭﬨ   ᠬ ꥪ⮢.
# Turbo-C ন ⥫ 䨪 㭪権, ⠪ 
⨯ 㭪権 (ANSI-⠭).  ᪮쪮 ᮡ⢥ ७
Turbo-C, ਬ 㭪樨 ⨯ interrupt.
. 2
䨪 ⨯ 㭪樨
(K&R 10.1.1)
#    external  static, Turbo-C ন
 䨪஢ ⨯  ᠭ 㭪権: pascal, cdecl, interrupt,
near, far  huge.
. 3
䨪 㭪樨 pascal
#  䨪 ᯮ  㭪権 ( 㪠⥫  㭪樨),
 ᯮ ᪠ ᫥⥫쭮 । ࠬ஢.
    몥 C 㭪樨,   
맢  ணࠬ, ᠭ  㣮 몥; 筮,
稥 䨪 㤥 ᪠ 饭  C-ணࠬ,
 譨 ணࠬ, ᠭ  㣨 몠.  㭪樨 ८ࠧ
 孥 ॣ,  室  ࠡ । 痢.
. ᯮ짮 樨 -p 㤥 ਢ  ⮬,   㭪樨
( 㪠⥫   㭪樨)  ᬠਢ  ᫨  
 ⨯ pascal.
ਬ, ᫨    ⪮஢ ᫥ 㭪:
.sw
        pascal putnums(unt i, int j, int k)
        {
           printf("And the answers are: %d, %d  %d\n",i,j,k);
        }
. 1
㣠 C-ணࠬ  ⥬   㭪 
ࠡ । 痢    , ᯮ ᠭ:
.sw
        pascal putnums(int i, int j, int k);
        main()
        {
                putnum(1,4,9);
        }
# 㭪樨 ⨯ pascal    ࠧ筮 ᫮ 㬥⮢,
, ਬ, 㭪 printf.
 ⮩ 稭    ᯮ짮  (...)
(ய ࠧ㬥 㬥)  । 㭪樨
⨯ pascal.
. 3
䨪 㭪樨 cdecl
#  䨪 祭 䨪 pascal; ᯮ
 㭪ﬨ 
㪠⥫ﬨ  㭪樨,  ⮣ ⮡ ⬥
४⨢  -p   㭪 
 C-㭪.
ਬ, ᫨   樨 ணࠬ ⠭  -p,
  ᯮ짮 printf,   㯨 ᫥騬 ࠧ:
.sw
        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.
᫨  ᬮ ⥬ include-䠩,  㢨, 
 㭪  ᠭ  cdecl.
.  ணࠬ (main)   ⠪ 
cdecl.
. 3
䨪 㭪樨 interrupt
# 䨪 interrupt ।祭  ᯮ짮  ࠬ 뢠
 8086/8088.
Turbo-C 㤥 ஢ 㭪 ⨯ interrupt  ⥫
室   襭, ⠪  ॣ AX, BX, CX, DX, SI, DI, ES  DS
࠭.
㣨 ॣ: BP, SP, SS, CS  IP ࠭   ᫥⥫쭮
C-맮   ᠬ ࠡ⪨ 뢠.
ᬮਬ ਬ ⠭⭮ । 㭪樨 ⨯ interrupt.
.sw
        void interrupt myhandler()
        {
                . . .
        }
# ⥫쭮  㭪樨 뢠  㭪樨 ⨯ void.
㭪樨 뢠 ন    .
  , ᪫ huge,  ॣ DS  ᥣ
 ணࠬ.   huge  DS   ᥣ
.
. 3
⨯ 㭪権
(K&R 10.1.2)
#  K&R ᪠ ⮫쪮  㭪樨, 饥  ,
⨯   ᪮.
ࠬ (᫨  )  ⮫쪮  । ।⢥ ᠬ
㭪樨.
# ANSI ⠭  Turbo-C ᪠ ᯮ짮 ⨯ 㭪権,
 ⮣ ⮡  㭪.
 ᯥ樠 ᠭ, 
 ଠ  ࠬ 㭪樨.
 ᯮ  ଠ  ஢ન
맮 㭪権,  ⠪  ८ࠧ 㬥⮢
 ॡ饬 ⨯.
ᬮਬ ᫥騩 ࠣ ணࠬ:
.sw
        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 ।   ࠬ,  ᮢ騥 
ࠧ  ᮤঠ  묨.
ᯮ짮 ⨯ 㭪権   訡.
# ᠭ 㭪樨
.sw
        f(void)
. 1
砥,  㭪   㬥⮢.
#  ⨢ 砥,  ᪮ 㪠뢠 ᯨ᮪ ࠬ஢,
ࠧ 묨.
   ᤥ  ଥ
.
func(int *, long);
.
     祭 䨪
.
func(int * count, long total);
#   , 㪠 , 㭪 func
ਭ  ࠬ:
㪠⥫  ⨯ int,  count,  楫 ६ total
⨯ long. 䨪, 㪠  , ᯮ
⮫쪮  ᪮ ᮮ饭,  砥 
ᮮ⢥⢨ ⨯ ࠬ஢.
# ⨯ 㭪樨 筮 । 㭪  㭪, ਭ
䨪஢ ᫮ ࠬ஢.  C-㭪権,  ਭ ࠧ筮
᫮ ࠬ஢ (ਬ, printf), ய⨯ 㭪樨 
稢 稥 (...),
ਬ
.
f(int *count, long total, ...)
#  ⠪ ଥ ⨯ 䨪஢ ࠬ
஢  ६ 樨,  ६ ࠬ ।,
  ⢨ ⨯.
# ᬮਬ ᪮쪮 ਬ஢.
.sw
        int f();        /*  㭪 頥 稭
                            ⨯ int.  ᪨
                            ⨫ K&R */

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

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

        int pascal q(void); /* 㭪 ᪠᪮ ⨯
                                 ࠬ஢; 頥
                        祭 ⨯ int */

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

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

        int (*fp)(int);  /* ⥫  㭪, 
                        祭 ⨯ int  
                        ⢥ int ࠬ */
# 騥 ࠢ ࠡ  䨪ࠬ 몠  ଠ묨
ࠬࠬ  맮 㭪権,  ᯮ ⮯, ⠪  
 ᯮ:
.na
䨪 몠  ᠭ 㭪権  ᮢ  䨪ࠬ,
ᯮ㥬묨   㭪樨,   饭  㭪樨.
.na
㭪   祭 ଠ ࠬ஢, 
  뢠 - ⢨  祭 ⢨⥫
㬥⮢  뢠饩 ணࠬ,  ᪫祭 㭪権 뢠.
# ᫨ ⨯ 㭪樨   ।⥫쭮,
Turbo-C ८ࠧ 㬥  饭  㭪樨 ᮣ᭮
ࠢ, ᠭ  ࠧ "䬥᪨ ८ࠧ".
᫨  ⨯, Turbo-C ८ࠧ 㬥  ⨯,
  ࠬ஢.
# ᫨ ⨯ 㭪樨 砥 稥 (...),
Turbo-C ८ࠧ   㬥 㭪樨  㬥⠬, 
⨯ ( ).
 㤥   㬥,  ᫥
䨪஢ ࠬ஢,  ଠ ࠢ  㬥⮢
㭪権  ⨯.
# ᫨  ⨯, ᫮ 㬥⮢   ᮮ⢥⢥ (
᪫祭 ,   ⨯ 饭 - 㬥).
   ᮢ⨬ ⮫쪮  ࠧ,  ⮣ ⮡ ४⭮
ந ८ࠧ ⨯.  ᥣ  ᯮ짮
 ८ࠧ 㬥⮢  ⨯, ⨬  ⨯ 㭪樨.
# :
.
int strcmp(char *s1, char *s2);   /*  ⨯ */
int *strcpy();                    /*  ⨯ */
int samp1(foat, int, ...);        /*  ⨯ */

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

        if(strcmp(sx, cp))    /* 1. ୮ */
          strcpy(sx, cp, 44); /* 2.  ⮫쪮  Turbo-C */
        samp1(3, a, q);       /* 3. ୮ */
        strcpy(cp);           /* 4. 訡  믮 */
        samp1(2);             /* 5. 訡  樨 */
 }
#  1 맮 (. 㬥  ) ᯮ짮 㭪樨
strcmp  ᮮ⢥ ⨯  ४⭮   砥.
#  2 맮 (strcpy)  譨 㬥 (strcpy ।
  㬥⮢,    3-).  ⮬ 砥 Turbo-C
 讥 ⢮ ६     饭
譥 㬥  ⥪. , ,   ᨭ⠪᪮ 訡,
..     ᫥ 㬥⮢ strcpy.
 맮  ⨬  㣨 ஢.
#  3- ਬ ⨯ ॡ, ⮡ 1 㬥  samp1 
८ࠧ  float,  2- -  int.  뤠 ।०
   稬  ᫥⢨ ⮣,  
८ࠧ ⨯ long  ⨯ int 뢠 孨 .
    뤠 ⠪ ।०, ᫨
  ८ࠧ  楫. ⨩ 㬥, q,
ᮮ⢥ 饭 㬥  ⨯.  ८ࠧ
 ⨯ double ᮣ᭮ 筮 䬥᪮ ८ࠧ.
 맮 ४⥭.
#  4 맮 ᭮ 砥 饭  strcpy, 
᫮ 㬥⮢ ᫨誮 .  맮 訡  믮
ணࠬ.   祣  ᮮ (᫨  ᫮
ࠬ஢ ⫨砥  ᫠ ࠬ஢  ।饬
맮 ⮩  㭪樨), ..  strcpy  ⨯ 㭪樨.
#  5 맮  㭪樨 samp1  ᫨誮  㬥⮢.
.. samp1 ॡ  2 㬥,    訡.
 뤠 ᮮ饭  ⮬,   맮  墠⠥ 㬥⮢.
. ᫨  ⨯ 㭪樨  ᮮ⢥ ⢨⥫쭮
। 㭪樨, Turbo-C 㦨   ⮬  ⮫쪮  ⮬ 砥,
᫨  । 室  ⮬  䠩,   ⨯.
᫨  ᮧ ⥪ ணࠬ  ᮮ⢥騬 ᡮ୨ ⨯
(include-䠩),   뢠 祭 䠩  ⨯
 ६ 樨 ⥪,  ⮣ ⮡ ⫮ 
⨢稥  ⨯  ⢨⥫묨 ।ﬨ 㭪権.
. 2
ࠢ  (K&R 11)
# ࠢ  -  ࠢ, ।騥,  
 ⥪ ணࠬ   ᯮ짮 ६  ᨬ
 ⮣,     ᠭ.
# Turbo-C ࠧ蠥  쭮 饭  㭨묨
䨪ࠬ, 祬 ⮣ ॡ K&R.  4  䨪஢:
# , 뢠   ᫮ typedef, ६,
童 ᫥   㭨묨  ,  ஬
 ᠭ. 䨪,  譨,  
㭨묨 । ६, ᠭ  譨.
# , ꥤ, ਧ ᫥   㭨묨
 ,  ஬  ᠭ.
ਧ, ᠭ  । - 㭪樨,  
㭨 ।  ਧ, ᠭ  譨.
#    童 ꥤ   㭨
   ꥤ,    ᠭ.
   ࠭祭  ⨯ 
ᬥ饭  童     ࠧ .
#  GOTO    ᯮ짮   ⮩ 㭪樨,
   ⪠. ⪠,  ᢮ ।,  
㭨쭠  㭪樨,  ன  .
. 2
 ࠢ ࠭樥 (R&K 12)
# Turbo-C ন  ࠢ騥 , ᠭ  K&R.
⨬   ४⨢ ९ - ப
室 ணࠬ, 稭騥   #.
. 2
 ᥬ (K&R 12.1)
# Turbo-C 믮  । #define  #undef,
ᠭ  R&K,  ᫥騬 ﬨ:
# 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);
# 5.  ⫨稥  㣨 ॠ権, Turbo-C  ⢫
⠭ ஠㬥⮢  ப  ᨬ ⠭.
. 2
祭 䠩 (K&R 12.2)
# Turbo-C ᯮ ४⨢ ⠪ ,  ᠭ  K&R,
   ⥫ ᮡ:
᫨ ९  襫 include-䠩  ⠫, ⠭
 㬮砭 (९,   ᯮ 
#include "filename"), ⮣   ⠫,  樥
 -I.
᫨  ᯮ  #include <filenamr>, ⮣ 
⮫쪮 ⠫,  樥 -I.
(⠫, 塞    樨 O/Environment/Include,
 ⠫,    樨 -I pathname
  ப.
#      #include, 饥 ࠭ ࠧ⥫,
ᯮ ७. ᫨ ᫥ ப ᫥
祢 ᫮ 稭  䨪, ९ ᬠਢ
⥪  . , ᫨ ப 祭  窨
  㣮 ᪮, Turbo-C  㤥 ஢  
 . ਬ,
# #define myinclude  "c:\tc\include\mystuff.h"
# #include myinclude
# #include "myinclude"
# 1- #include-
⠢ ९ ᬠਢ C:\TC\INCLUDE\MYSTUFF.H, ⮣ 
2- 맮 ᬮ MYINCLUDE.H  ⠫  㬮砭.
#    ᯮ짮 ꥤ  ப  ⠢
ᥬ  ,  ᯮ   #include.
७   ⥪,  ⠥ 
ଠ쭠 #include-४⨢.
. 2
᫮  (K&R 12.3)
# Turbo-C ন । ᫮ 樨 K&R  
 ᮮ⢥ ப  . ப, 㥬 ..,
稭  ४⨢ #if, #ifdef, #ifndef, #else, #elif,
#endif, ⠪    㥬 ப, 騥 १⮬ 
४⨢.  ४⨢ ᫮ 樨  稢
 室 ணࠬ  include-䠩,    砫.
# Turbo-C ন ⠪  ANSI-⠭ defined(symbol).
ᢠ 祭 1 (true), ᫨ ᨬ  ।⥫쭮 ।
( ᯮ짮 #define)  ⥬   ⬥ ( ᯮ짮
#undef);  ᢠ 0 (false). , ४⨢
# #if defined(mysym)
# ⭠ ४⨢
# #ifdef mysym
# २⢮ ⮣   ୮ ᯮ짮
defined  ᫮ ࠦ, 饬 ᫥ ४⨢ #if:
# #if defined(mysym) || defined(yoursym)
# Turbo-C ( ⫨稥  ANSI)   ᯮ짮
 sizeof  ࠦ  ९:
.sw
     #if (sizeof(void *) ==2)
     #define SDATA
     #else
     #define LDATA
     #endif
. 2
ࠢ ப (K&R 12.4)
# Turbo-C ন । #line,   K&R.
. 2
४⨢ ࠡ⪨ 訡 (ANSI C 3.8.5)
# Turbo-C ন ४⨢ #error,  㯮 ( 
।)  ANSI-⠭.  ଠ:
# #error errmsg
# ᫨    ४⨢ ᫮ 樨
 䠩  襩 室 ணࠬ  ᫮ ⮢ 䠩,
९ 㤥 뢠 ४⨢ #error   뢠,
뤠  ⮬ ᫥饥 ᮮ饭:
# Fatal:  filename  line#  Error directive:  errmsg
# ९ ᬠਢ ⥪  ⮣, ⮡ 㭨⮦
ਨ,   ࠭ 뢮 ⠢訩 ⥪  ᬮ 
 ᮢ.
. 2
४⨢ PRAGMA (ANSI C 3.8.6)
# Turbo-C ন ४⨢ #pragma,  ( 
#error),  ᭮
।  ANSI-⠭.  楫   ࠧ
ᯥ樠஢ ४⨢:
#  #pragma <directive name>
#    #pragma Turbo-C  ।  ४⨢,
  ॡ,  ⥫⢠ 㣨 ஢,
 ন #pragma. -।, ᫨ 
   ४⨢,   ४⨢ #pragma.
. 3
 #pragma inline
# Turbo-C ᯮ  ४⨢ #pragma. ࢠ:
#  #pragma inline
#  ४⨢ ⭠ 樨  -B.
 ᮮ頥   ⮬,   襩 ணࠬ 
ᥬ஢᪨ 設 . 襥   -  砫
䠩, ..  ᠬ१᪠  樥 -B ࠧ,
 ⮫쪮  #pragma inline.  ᠬ ,  
   -B,  ४⨢ #pragma inline, .. 
 ࠢ ᮬ१᪠,  ⮫쪮 
asm-; 楫 ⮩ 樨  ४⨢  
६ 樨.
. 3
 #pragma warn
# 㣠 #pragma-४⨢ - 
#pragma warn
#  ४⨢    ਭ  
ᯥ樠   ப -wxxx ( 祭
ᯥ樠 ।।⥫ ᮮ饭).
# ਬ,  ᫨  室 ணࠬ ᮤন ४⨢:
.sw
     #pragma warn +xxx
     #pragma warn -yyy
     #pragma warn .zzz
#  xxx  뤠 ।।⥫ ᮮ饭 (᫨ 
  O/C/Errors/  뫠 몫祭); yyy 몫 뤠
ᮮ饭;  zzz ⠭ ࢮ砫쭮 祭, ஥
뫮  砫 樨 䠩.
# ⥫ ᯨ᮪ 3-㪢 ॢ  ᮮ饭, 
   몫, ਢ 
ਫ 3 뫮筮 㪮⢠  Turbo-C.
. 2
㫥 ४⨢ (ANSI C 3.7)
#  襭,
ANSI-⠭  Turbo-C   ४⨢, 
 ப, ᮤঠ饩   #.  ४⨢ ᥣ .
. 2
஥ -
# ANSI-⠭ ॡ 5 ஥ ᮢ. Turbo-C
ਬ  5. ⬥⨬, 
   稭  稢
ᨬ ન (__).
.ym _LINE_
 ࠡ뢠 ப 室 ணࠬ - 筠 ⠭.
ࢠ ப 室 䠩 ।  1.
.ym _FILE_
 ࠡ뢠 室 䠩 - ୠ ப.
.am
 ம।
 直 ࠧ,   ࠡ뢠
४⨢ #include  ४⨢ #line,  
稫 #include-䠩.
.ym _DATE_
 砫 ࠡ⪨ ⥪饣 室 䠩 - ୠ ப.
.am
 宦 _DATE_   䠩 ࠭  祭,
ᨬ  ⮣,   㦥 த ࠡ⪠.
  ଠ mmmddyyyy,  mmm -  (Jan, Feb  ..),
dd - ᫮ ⥪饣  (1...31;  1-   権 dd
⠢ ஡, ᫨ ᫮  10), yyyy -  (1987, 1988  ..).
.ym _TIME_
६ 砫 ࠡ⪨ ⥪饣 室 䠩 - ୠ ப.
.am
 宦 _TIME_   䠩 ࠭  祭,
ᨬ  ⮣,   㦥 த ࠡ⪠.
६  ଠ hh:mm:ss,  hh -  (00...23),
mm -  (00...59), ss - ᥪ㭤 (00...59).
.ym _STDC_
⠭, ࠢ 1, ᫨    䫠 -a, 
⠭ ᮢ⨬  ANSI-⠭⮬ (ANSI keywords only ... ON);
 ம।  ।.
. 2
஥  Turbo-C
# ९ Turbo-C । ࠧ ⥫ .
,   ᮢ, ।ᠭ ANSI-⠭⮬,
   稭  稢
ᨬ ન (__).
.ym _TURBOC_
뤠  ⥪饩 ᨨ Turbo-C - ᭠筠 ⠭.
 1.0 ।⠢  0x0100;  1.2 -  0x0102  ..
.ym _PASCAL_
। 祭 䫠 -p; ⠭  楫 ⠭,
ࠢ 1, ᫨ ᯮ 䫠 -p;   ।.
.ym _MSDOS_
 ⠭, ࠢ 1.
.ym _CDECL_
। 祭 䫠 -p; ⠭  楫 ⠭,
ࠢ 1, ᫨ 䫠 -p  ᯮ;   ।.
# 騥 6 ᮢ   ࠭  樨
 .   樨 ।   ⮫쪮
  ; ⠫ (-।)  ।.
ਬ, ᫨    쪮 , । _SMALL_,
 ⠫ - ; ⮬ ४⨢ #if defined(_SMALL_)
㤥  祭 true(୮),   ६  #if defined(_HUGE_)
(  㣠) 㤥  祭 fulse().
⢨⥫쭮 祭   । ம।
ࠢ 1.
.ym _TINY_
樨 롮  筮  .
.ym _SMALL_
樨 롮  쪮  .
.ym _MEDIUM_
樨 롮 ।  .
.ym _COMPACT_
樨 롮 ⭮  .
. 1
  MICROSOFT MSC V4.0, V5.0
. 2
  K&R  MSC
. 4   K&R  MSC
---------------------------------------------------------------
                   ⫨
 K&R
---------------------------------------------------------------
2.2     䨪 ᯮ   31 ᨬ.

2.3     asm  entry   祢 ᫮.  祢
        ᫮: const, volatile, enum, signed, void.
         cdecl, far, fortran, huge, near, pascal 
        ,      祢묨 ᫮.

2.4.1    ८ࠧ ⨯ ⭠  쬥
        ⠭ ᥣ ᬠਢ   楫.

2.4.3   ⥫쭮  ᨬ ⠭: '\V', '\A',
        '\X᫮',  ᫮ ।⠢ ᮡ ,  
         ⭠ .
         ᨬ ⠭  ⨯ int,  
        ८ࠧ ⨯ ந室 ७ .

2.6      short ᥣ  16 , long - 32 .
         int   8086/8088, 80186, 80286 
        16 ,   80386  68000 - 32.

4        char  㬮砭 ,   㬮砭 
        .  ८ࠧ ⨯   ந室
        ७ . ন   ⨯:
        unsigned char  unsigned long. 祢 ᫮ signed 
        unsigned  㯮ॡ  ਫ⥫  楫
        ⨯.  ⠪ ⨯ enum  void.

6.4     ᫨ ࠧ襭 祢 ᫮ near, far  huge, 
        ணࠬ   㪠⥫ ࠧ .
        樨    뢠  ८ࠧ.

6.6     ८ࠧ ⨯  設:
        1.  float ८ࠧ  double.
        2. ᫨  ࠦ     double, 
           ८ࠧ  double.
        3.  char  short ८ࠧ  int.
        4.  unsigned char  unsigned short ८ࠧ 
           unsigned int.
        5. ᫨  ࠦ     unsigned long,
            ८ࠧ  unsigned long.
        6. ᫨  ࠦ     long, 
           ८ࠧ  long.
        7. ᫨  ࠦ     unsigned int,
            ८ࠧ  unsigned int.
        ᪠ ८ࠧ  㪠⥫ﬨ ࠧ
          砥, ᫨ 㯮ॡ near, far  huge.

7.2     裡  樥 sizeof  ,  
         8 .

7.14     ᢠ .

8.2     ஢ 祢 ᫮ enum  void.
        祢 ᫮ signed  unsigned  㯮ॡ
        ᫥騬 ࠧ:
        signed char
        signed short
        signed short int
        signed int
        signed long
        signed long int
        unsigned char
        unsigned short
        unsigned short int
        unsigned int
        unsigned long
        unsigned long int

8.4      㬥⮢   祭  ᯨ᮪ ࠬ஢
        㭪樨  㪠  ᫠  ⨯ 㬥⮢
         맮.

8.5      ⮢  unsigned.  童  
        ꥤ  易⥫쭮  ⫨  
        ᠬ   ꥤ,  ⠪   ६
          裡  童  ࠧ
        .

8.6     ꥤ 樠 㪠 祭 ࢮ
        童.

9.7     ࠦ  switch   ࠧ int 
        .  ࠦ  ⨯ enum. 
        ⠭⭮ ࠦ  case  ⨯  ᮢ 
         ࠦ  switch.

10.1    ᮪  ࠬ஢    ।  㭪樨  
        稢 樥 ',...' (  ஥稥)
         ⮫쪮  ', '   祭  ६ ᫠
        ࠬ஢  㭪樨. ᫨ ᯨ᮪ ⮨ ⮫쪮 
        ⮩ 樨,    㭪樨     
         ࠬ஢.

12       #  ४⨢ ९   
        ᫮ ஡  ⠡権.
         ४⨢ #pragma.

12.3    ।    defined(䨪)  
          #if,  ⠪   #ifdef  #ifndef  
        ᯮ짮.
         #elif (else-if).

14.1        ꥤ    ᢠ 
        । 㭪  ⢥ ࠬ஢.
         ࠦ, 饬 ->, ࠦ ᫥  ५
          ⨯ ⮩  ,  ன ᠭ
        童 ࠢ  ५.

17      ᫥ ஭  ᯮ.
. 2
࠭祭 
#  ६ ࠭樨  㦭 ᪮ ࠭⢮ 
६ 䠩, ࠢ  ࠧࠬ ਬ୮  室 䠩.
# ᨬ쭠  ப,  㫥 ᨬ '\0' 
 ॢ 512 .
# ᨬ ࠧ ⠭    ⨯.
# ᨬ쭠  䨪 31 ᨬ.
# ᨬ쭮 ᫮ ஢  । /ꥤ - 5.
. 2
࠭祭 ९
# ᨬ ࠧ ம। 512 
# ᨬ쭮 ᫮ 㬥⮢   - 8.
# ᨬ쭠  㬥⮢ - 256 .
# ᨬ ஢   ਪ⨢ ⨯ #if, #ifdef, #ifndef - 32.
# ᨬ ஢  砥 䠩 - 10.
. 1
⠭   ஢ Turbo-C  MSC
# Turbo-C  Microsoft C (MSC)     .
#      ࠢ ᫥騥 ࠭祭:
.na
  室     64   .
.na
᫨  ਬ ஬ (huge)  ,    (ਬ,
ᨢ)  ᠭ   祢  ᫮ huge (. ),
   ॢ 64.
.ym  (small) 
祭  㬮砭.  ⮬ ணࠬ ନ  
ᥣ⮬    ᥣ⮬  (ᥣ ࠢ 64).
⥫쭮, ணࠬ  ⮩    ॢ 128.
 㬮砭     㪠⥫  ⨯ 'near',
    㣨 祢묨 ᫮ far  huge (. ).
.ym । (medium) 
ணࠬ ନ  ᪮쪨 ᥣ⠬    ᥣ⮬ .
筮 ਬ  ணࠬ  訬 ࠧ஬    ࠧ஬
,  ⮬  室   ᢮ ᮡ⢥ ᥣ .
.ym ⭠ (compact) 
ணࠬ ନ  ᪮쪨 ᥣ⠬    ᥣ⮬ .
 㬮砭  ⮩   㪠⥫    ⨯ 'near',
   - 'far'.   㣨 㪠⥫   祢
᫮ 'far'    祢묨 ᫮ 'near'  'huge' (. ).
.ym  (large) 
ணࠬ ନ  ᪮쪨 ᥣ⠬   ᪮쪨 ᥣ⠬
.  㬮砭  ⮩        ⨯
'far'.   㣨 㪠⥫   祢 ᫮ 'near'
   祢묨 ᫮ 'near'  'huge' (. ).
.ym ஬ (huge) 
ணࠬ ନ  騬 ᥣ⠬   .  ᥣ⮢
  ᪮쪮 㣮.
#  ⮩  ᭨ ࠭祭  ࠧ   (ਬ,
ᨢ)  64,   ᫥騥 ࠭祭 ᥣ樨:
.na
   (ਬ,  ᨢ)     64.
.na
  ᨢ ࠧ஬  128     ࠧ,
 2.
#   १  sizeof  ࠧ  㪠⥫ 
稭 ⨯ int,   砥  ⮢    ᮡ,
MSC   ४ 祭 ᫥騬 ࠧ:
⮡  ࠧ 讣  ஬ sizeof,
室 ᯮ짮 ᫥ :
# (long) sizeof (huge_item),
#  huge_item - ॡ㥬 .  祭 ࠧ 
㪠⥫  'huge'  室 ᯮ짮 ᫥ :
# (long) (huge_ptr1 - huge_ptr2).
. 2
  tiny
# Turbo-C     㪠    
 - tiny.
 ᠬ   .   ॣ
( CS, DS, SS, ES) ᮤঠ     , ⮬
64 뤥  ࠭ ,   ᨢ.
ᥣ ᯮ 㪠⥫ ⨯ near.
ணࠬ, ᯮ騥   tiny,  
८ࠧ  ଠ .COM.
. 2 ᯮ짮 祢 ᫮ 'near', 'far'  'huge'
#    ⮢  ᯮ짮   砥
 ⮬,   ࠧ 稭 (ਬ,  㢥祭 த⢨)
室 ᯮ짮 㪠⥫ ࠧ ࠧ,   ⮫쪮
।    . , MSC  㫠 
  ᯮ짮 祢 ᫮ near, far  huge.
 祢 ᫮ ⢨⥫ ⮫쪮  ࠡ   MS DOS 
 ᥬ⢠ 8086,    㤠    /ZA  MSC.
. 3 祢 ᫮ near
# ,   뫠 㪠⥫, १⥭  ⥪饬 ᥣ
   ⠭⭮ ᥣ . ⥫  16-
   㭪樨  .  ᭮ 䬥⨪ ᯮ 16 .
. 3 祢 ᫮ far
# ,   뫠 㪠⥫,  ᯮ  㣮,
 易⥫쭮  ⥪饬 ᥣ   ⠭⭮ ᥣ .
⥫  32-    㭪樨  .
 ᭮ 䬥⨪ ᯮ 16 .
. 3
祢 ᫮ huge
#    뫠 㪠⥫  ᯮ
   㣮,  易⥫쭮  ⠭⭮ ᥣ.
   (ਬ,  ᨢ)  
 ࠧ  64 . ⥫  32-  .
 ᭮ 䬥⨪ ᯮ 32 .
# ⠭⭠ -⥪,  ᮮ⢥⢮  
襩 ணࠬ: ( (small)  㬮砭, ⭮ (compact),
। (medium),  让 (large)).(XLIBC.LIB,  X - ࢠ 㪢
  ). ⠭⭠ ⥪  让 
  ਬ ⠪   ஬ (huge) .
 饬 砥  ᯮ짮 'far'   'huge' 㭪樨 ⥪
   .
#  䨪樨 ⮢  㪠⥫    
祢 ᫮ near, far  huge 室  ᫥騥 ࠢ:
.na
祢 ᫮    㪠⥫ ।⢥ ࠢ.
ਬ, char far* *p;  砥,  p  㪠⥫  'far' 㪠⥫
 char.
.na
᫨ ।⢥ ࠢ  祢 ᫮  䨪,
  ।,  㤥 ᯮ  ,  ⠭⭮
ᥣ  (near)   㣨 ᥣ (far  huge).
ਬ: char far ;   ।⠢ ᮡ  ⨯
char  ᮬ 'far'.
.na
᫨ ।⢥ ࠢ  祢 ᫮  㪠⥫,
  । ࠧ : 16  (near)   32 (huge  far).
ਬ, char far *p;  p ᬠਢ  'far'
㪠⥫ (32 )   ⨯ char.
.
ਬ:
char a[3000]; /*  (small)  */
-  ᯮ  ⠭⮬ ᥣ .

char far b[30000]; /*  (small)   */
- b    ᯮ      ᥣ  .
᫨     ⠪ ᨢ,  ᯮ짮
'far', 祬     ᪮७ 㯠
 㣨 .

char a[3000]; /*  (large)  */
-   ᫨    ᯮ    ⠭⭮   ᥣ
,    㤥 ⢫  ᯮ짮-
 32-⭮ 㪠⥫.

char near b[30000]; /*  (large)   */
-   b  㤥  ⢫    ᯮ짮
16-⭮  㪠⥫  (near),     㤥  ᪮쪮
॥, 祬  ।饬 砥.

char huge a[70000]; /*  (small)   */
-    ⠪ ᠭ, ⠪     
64  .  ᯮ짮  祢  ᫮  huge  
஬ (huge)       
㣨  ,  室騬    ⠭⭮  ᥣ
ࠧ ॥  'near' 㪠⥫.

char huge *pa; /*  (small)  */
- pa    ਬ,  ⠪,    ।饣
ਬ.  ᭠ 䬥⨪  (ਬ, pa++)
ᯮ 32 .

char *pa; /*  (small)  */
- 'near' 㪠⥫  char;

char far *pa; /*  (small)  */
- 'far' 㪠⥫  char;

char far* *pa; /*  (small)  */
- 'near' 㪠⥫  ᨢ 'far' 㪠⥫  char;

char far* *pa; /*  (large)  */
- 'far' 㪠⥫  ᨢ 'far' 㪠⥫  char

char far* near *pb; /*    */
- 'near' 㪠⥫  ᨢ 'far' 㪠⥫  char

char far* far *pb; /*    */
- 'far' 㪠⥫  ᨢ 'far' 㪠⥫  char
# ࠢ ᯮ짮 'near'  'far'  㭪権 ⠪ , 
  .
.na
祢 ᫮  㭪  㪠⥫  㭪
।⢥ ࠢ.
.na
᫨ ।⢥ ࠢ  祢 ᫮  㭪,
  ।,  㤥 ᯮ  ,
 ⥪饬 ᥣ  (near)   㣨 ᥣ (far).
ਬ: char far fun();  fun
।⠢  ᮡ 㭪, 뢠  32-⭮  
  ⨯ char;
.na
᫨ ।⢥ ࠢ  祢 ᫮  㪠⥫
 㭪,   । ࠧ : 16  (near)  32 (far).
ਬ: char (far *pfun)();  pfun ᬠਢ
 'far' 㪠⥫ (32 )  㭪,   ⨯
char.
.na
 㭪権  ᮮ⢥⢮  ।.
.na
祢 ᫮ 'huge'   ਬ  㭪権.
# :
.
char far fun();         /*  (small)  */
char far fun()  { /* ... */ }

-  fun -  㭪,   ⨯ char,
 뢠  32-⭮ .


static char far* near fun();    /*  (large)  */
static char far* near fun() { /* ... */ }

-  fun  'near' 㭪,  'far'
㪠⥫  char. ਬ,  㭪  ᯮ짮
쭮  ⮫쪮  ⮬ 㫥,   ᠭ.  
 'near',  㤥 ந室 ॥.


void far fun();         /*  (small)  */
void (far* pfun)() = fun;

-  pfun  'far' 㪠⥫  㭪,  
祭.


double far* (far fun)();  /* ⭠ (compact)  */
double far* (far *pfun)() = fun;

-  pfun  'far' 㪠⥫  㭪, 
'far' 㪠⥫  ⨯ double.
#  ᯮ짮 'near', 'far'  'huge'  ,  㪠⥫
襩, 祬 ।ᬮ७     ᯮ짮 ਢ
 ਭ   .

.  몠     UNIX 2.9BSD, 4.2BSD
#   -2 (UNIX 2.9BSD)  -32 (UNIX 4.2BSD) ᭮묨
ࠬ 몠   CC  PCC.   ᭮ ࢮ  ,
ࠧࠡ⠭   ஢ 몠  ᮬ .  ⮣ 
 ᮮ⢥ ᠭ  K&R. ன  -  ⠪ 뢥
""  몠 , ࠧࠡ⠭ . ᮭ. , ॠ
⨬ ஬,  ⫨砥  몠, ᠭ  K&R.   
  ᭮ ⮣  ᤥ 䨪 ணࠬ LINT, ⮬
  ࠧ ஦ ஢ ஫ ⨯   뤠 ࠧ
 ।०   쭮 ணࠬ.
. 1
 ᮡ ᠭ ணࠬ  몥    -2
.na
⨬  ਨ: /*.../*...*/...*/
.na
࠭ ਮ: &1==0  :  & (1==0)
.na
⥭  믮 樨 ++: B = (++) + (++);
.na
   譨   ࠧ 䠩 - 㤥 1 祩
.na
 ⮫쪮 7 (8) 㪢, ࠧ ᫥ 7 㪢 
.na
case - ࠡ   ୠ⨢,   ⪨
.na
㪠⥫ != 楫, ࠭஢ ⮫쪮 0==null,     ᥣ
.na
 ᨬ ⠭ ='B'   浪   ᫮
.na
⥭ 冷 ᫥ B: F(G(),K())  =F()+G()
.na
   㭪樨  ࠢ ᫮ 㬥⮢
.na
 ਬ &  register ६
.na
'      (  浪 ᠭ)
.na
⭮ ᯮ   ᫮ (nuxi-஡)
.na
⥭ 冷 । ⮢   ᫮
.na
 樠  㪠뢠 ⨯ ⠭
.na
    ६     
.na
  C&0377 A (unsigned)C
.na
騥 ஡: A =-B  A = -B
.na
⠭ 40000 㤥   unsigned,   long
.na
⨬  '"' ⠪  "'" 
.na
: putc('A')  putc("A")
.na
: \1 \01 \001,  筮: "\12345"
.na
  ப   \<BK>,   \(஡)<BK>
.na
char  楫: 0377 != '\0377'
.na
 ᪨ 㪢 ୮: 'A' < ''
.na
 䬥⨪    double, ⮫쪮 ࠭  float
.na
ᨢ != 㪠⥫ - : char A[5],*P; A=P; : P=A;
.na
 㭪樨  ᪮ -  ࠦ(!?): exit(0);  exit;
.na
  ⮫쪮 㪠⥫  static
.na
  ४ᨢ 
.na
++++  ( - L=祭, ++ - ),  ++(++)
.na
-  unsigned  2**N-
.na
⮫쪮: 㪠⥫+/-楫  㪠⥫-㪠⥫,  - 
.na
㪠⥫ & (^1) ⠡
.na
if( A < B < C )   ᮢᥬ  ,  㬠
.na
ᯮ짮 ⮩ if'ax  㭪: F(A,(B,C),D)
.na
 ᤥ   㭪権   - ⮫쪮 
.na
ᨢ  ࠭   㪠⥫: char P[];
.na
 ᨢ  ࠭ - : A[] [20], : A[] []
.na
    ६,    
.na
  樠஢ union'  ⮢ 
.na
 । ࠢ    ⪥  樠樨
.na
᫥: if(...)...if(...)...else...;
.na
extern   extern  ᬥ訢
.na
static ६  㭪樨 㯭  㣨 䠩
.na
 #define...; - ⨯筠 訡
.na
#defin'   । -権
.na
: #define A (...)... - ⨬ ஡
.na
 楫-> ७ᨬ,  ਬ  ࠩ
.na
㪠⥫  㭪    &: exit;
.na
  ࠦ  ᢠ: A+B;
.na
८ࠧ 㪠⥫: (double*)malloc(...) -  㤥 ࠢ !!
.na
७ᨬ  ᨬ ⠭: 'AB' 'ABC'...
.na
   㭪権 ॥ࠡ쭮,  㪠⥫
.na
 A=B  ६  ,   ᨢ
.na
᫨: unsigned A,B,C;   ⭮: A-C<B  A<B+C
.  몠   XENIX
. 4   K&R     XENIX
---------------------------------------------------------------
                   ⫨
 K&R
---------------------------------------------------------------
2.2     䨪 ᯮ   31 ᨬ.

2.3     asm  entry   祢 ᫮.  祢
        ᫮: const, enum, void.
         far, fortran, huge, near, pascal 
        ,      祢묨 ᫮.

2.4.1    ८ࠧ ⨯ ⭠  쬥
        ⠭ ᥣ ᬠਢ   楫.

2.4.3   ⥫쭮  ᨬ ⠭: '\V', '\A',
        '\X᫮',  ᫮ ।⠢ ᮡ ,  
         ⭠ .
         ᨬ ⠭  ⨯ int,  
        ८ࠧ ⨯ ந室 ७ .

2.6      short ᥣ  16 , long - 32 .
         int   8086/8088, 80186, 80286 
        16 ,   80386  68000 - 32.

4        char .  ८ࠧ ⨯ 
         ந室 ७ . ন
          ⨯: unsigned char  unsigned long.
         ⨯ enum (᫨)  void (⮩).

6.4     ᫨ ࠧ襭 祢 ᫮ near, far  huge, 
        ணࠬ   㪠⥫ ࠧ .
        樨    뢠  ८ࠧ.

6.5     祢 ᫮ unsigned  㯮ॡ 
        ਫ⥫쭮  楫  ⨯ (int, long, short
         char).  ᯮ  ᫮ unsigned,
         㧠 unsigned int.

6.6     ८ࠧ ⨯  設:
        1.  float ८ࠧ  double.
        2. ᫨  ࠦ     double, 
           ८ࠧ  double.
        3.  char  short ८ࠧ  int.
        4.  unsigned char  unsigned short ८ࠧ 
           unsigned int.
        5. ᫨  ࠦ     unsigned long,
            ८ࠧ  unsigned long.
        6. ᫨  ࠦ     long, 
           ८ࠧ  long.
        7. ᫨  ࠦ     unsigned int,
            ८ࠧ  unsigned int.
        ᪠ ८ࠧ  㪠⥫ﬨ ࠧ
          砥, ᫨ 㯮ॡ near, far  huge.

7.2     裡  樥 sizeof  ,  
         8 .

7.14     ᢠ .

8.2     ஢ 祢 ᫮ enum  void.
        祢 ᫮ unsigned  㯮ॡ
        ᫥騬 ࠧ:
        unsigned char
        unsigned short
        unsigned short int
        unsigned int
        unsigned long
        unsigned long int

8.4      㬥⮢   祭  ᯨ᮪ ࠬ஢
        㭪樨  㪠  ᫠  ⨯ 㬥⮢
         맮.

8.5      ⮢  unsigned.  童  
        ꥤ  易⥫쭮  ⫨  
        ᠬ   ꥤ,  ⠪   ६
          裡  童  ࠧ
        .

8.6     ꥤ 樠 㪠 祭 ࢮ
        童.

9.7     ࠦ  switch   ࠧ int 
        .  ࠦ  ⨯ enum. 
        ⠭⭮ ࠦ  case  ⨯  ᮢ 
         ࠦ  switch.

12       #  ४⨢ ९   
        ᫮ ஡  ⠡権.
         ४⨢ #pragma.

12.3    ।    # defined(䨪)  
          #if,  ⠪   #ifdef  #ifndef  
        ᯮ짮.
         #elif (else-if).

14.1        ꥤ    ᢠ 
        । 㭪  ⢥ ࠬ஢.
         ࠦ, 饬 ->, ࠦ ᫥  ५
          ⨯ ⮩  ,  ன ᠭ
        童 ࠢ  ५.

17      ᫥ ஭  ᯮ.
#  ᯮ짮    ,    MSC.
 ᮧ ணࠬ, 믮塞  ࠢ MS-DOS,
   -dos.

.  몠   AIX
# 樮  ⥬ AIX ।⠢ ᮡ ਠ  UNIX SYSTEM V,
 묨 ﬨ  OC UNIX 4.2BSD, ॠ ମ IBM
 ᢮  IBM RT PC (IBM 6150).
#   AIX  4   몠 : , FCC, VCC, SCC.
᭮ ஬   . ⠫  ᯮ  ᯥ樠 ਫ.
(FCC -  祭 ணࠬ, ࠡ   ᪮⥫ 饩 窨;
VCC -  祭 ꥪ 䠩  ଠ VRM, SCC -  祭
stand-alone-᪨ ணࠬ.
#  ଠ 맮   ࠪ᪨  ⫨砥 
筮   -2. ⠢ ⥪ ⠭ 㭪権
ࠪ᪨  ⫨砥  ⥪ ⠭ 㭪権  -2.
 ᠭ ࠭ ணࠬ, ᫥  ,  䠩 /etc/termcap
 ⠭⭮ ⠢  AIX ,   ⥪ CURSES,
筠 ⨬  ⥪  -2   XENIX.
  IBM RT PC
ॠ ᫥騥 ᪠ ⨯ :
. 3  ᪠ ⨯   IBM RT PC
{
3
$ 8 
$ 12 
$ 20 砫쭠 ࠭
&
@ char
@ 8 ࠧࠤ
@ ࠭ 
&
@ short
@ 16 ࠧ冷
@ ᫮
&
@ int
@ 32 ࠧ鸞
@ ᫮
&
@ long
@ 32 ࠧ鸞
@ ᫮
&
@ float
@ 32 ࠧ鸞
@ ᫮
&
@ double
@ 64 ࠧ鸞
@ ᫮
}
# ⠪ ॠ 몠  ࠪ᪨  ⫨砥 
ᠭ  K&R. ⠪ 몮 YACC  LEX 祭
ॠ  -2.
.  몠   HP9000
#  ⮬ ࠧ ᠭ 設-ᨬ ᮡ ॠ樨 몠 
  HP 9000 (  ⥪
HP-C).
# 
HP-C
ॠ ᫥騥 ᪠ ⨯ :
. 3  ᪠ ⨯   HP9000
{
3
$ 8 
$ 12 
$ 20 砫쭠 ࠭
&
@ char
@ 8 ࠧࠤ
@ ࠭ 
&
@ short
@ 16 ࠧ冷
@ ᫮
&
@ int
@ 32 ࠧ鸞
@ ᫮
&
@ long
@ 32 ࠧ鸞
@ ᫮
&
@ float
@ 32 ࠧ鸞
@ ᫮
&
@ double
@ 64 ࠧ鸞
@ ᫮
}
#  char   ७ (  -4).
䨪 register । ᠭ ६ , ⠪ 
 HP9000  ⥪ ⥪. ९ 楫  뢠
訡,    0 䨪  訡.   
㬥 ᫥ ࠢ.
# 
HP-C  ᫥騥 ࠭祭:
. 1
 䨪  16  (譥 -  15 );
. 1
  ६ 楤    ࠬ 맮 
ॢ室  2**19 (2  19 ⥯) ⮢;
. 1
 饩 樨  ॢ室 2**18 ⮢;
. 1
㭪    ,  祬 2**24 ;
. 1
   ⨬    255 楤;
. 1
- ஦   32767 ப ᥬ୮ ;
. 1
  ᪠  ( ᪨ ६)
⢮   2**19 ⮢.
#   -v    ᮬ 樨.
訡 ਮ ᥬ஢   䠩 /tmp/ctm3x.
#  ७ -ணࠬ  HP9000  㣨  室 뢠
᫥饥:
. 1
 HP9000  뫪 ⮢;
. 1
ࠧ 㫥    ⥭, ⠪    ஦
訡 ᯮ (⮣   㣨   ⥭ 뤠 0);
. 1
᫥ ॣ ᮫⭮ 樨, .. ⭠ 
 HP9000 ⫨砥  㣨 ;
. 1
 ⥪ ᯮ  ⠭ ᮢ,  ࠬ 㦠
 ⥪  뢠 ᮢ, ..  ᯮ짮   ᯨ᮪
ࠬ஢ 室  蠣 㬥.
.   ᠭ  ணࠬ
. 1
쭮 ணࠬ
# ணࠬ 쭠, ᫨    ᯥ譮 ⪮஢ 
믮  ࠧ   ।.  ᪮쪮 ᯮᮡ ᠭ
 ணࠬ.  - . 騥    ᮡ.
ன -  쭮 ⢨  㦥, ⠪
 /뢮  ⠭ ன⢠. ਬ, ணࠬ  
ᮤঠ  ᥡ   䠩,  ᪫祭   
⥬ (⠪  /etc/passwd).
#  ॡ㥬  ६ 樨 (.. include files) ⠪  
 묨, ⠪       ࠧ 設.
   include-䠩 ᮤঠ 設 ࠬ,  
ᯮ짮  ᮧ 室  ணࠬ.
. 1
⭮ ᯥ祭
#   ⭮ 䨣樨 ᯮ㥬 設  ࠧ
 ᮮ⢥ - 뢠 讥 ⢮ ஡
 ७ᨬ.  ࠧ 饭 ᫥ ⠪ 
஡ ७ᨬ  ⥬ XENIX.
. 2
 
#  ।, ⨯  char  C   筮 訬 
࠭   ⥫쭮 楫  童 ⢠ 設
ᨬ.  設, ᠭ   ਫ, ࠧ char ࠢ
8-⭮ .
. 2
 ᫮
#   ࠧ ᭮ ⨯    ॠ樨 ଠ쭮 
।.  ࠧ,  筮 ᫥  ⢥
ࠧ  ᯮ㥬 設.  㢥७  ।,
 short  㤥 , 祬 long. ஬ ⮣ 祣  㢥७
᪠ . ਬ,   設 short   ᮢ
 int, ⮣   㣨   ᮢ long  int.
# ணࠬ,   室  ࠧ ⭮ ⨯ ,
    設-ᨬ ⠭.
 ଠ 筮   ᠭ 筮 ७ᨬ ᯮᮡ.
ਬ, ᨬ쭮 ⥫쭮 楫 (  ⮢ 設)
  祭 ᫥騬 ࠧ:
# #define MAXPOS ((int)(((unsigned)-1)>>1))
#  ।⥫쭥, 祬, ਬ, ᫥饥:
.
        #ifdef PDP11
        #define MAXPOS 32767
        #else
        ...
        #endif

#  । ᫠ ⮢  int ᯮ  "sizeof(int)",
祬 2, 4  - 㣨 ७ᨬ ⠭.
. 2
ࠢ  ࠭
#    । ⭮ 奬  ࠭ ⮢ 
⭮⥫쭮  㣮,   ࠭ ⮢  
ꥤ    ꥤ.
#  CPU, ⠪  PDP-11  M68000, ॡ, ⮡ ⨯ 
   뫨 ࠢ   ࠭栬 ᮢ ⮢.
㣨, ⠪  8086  VAX-11,   ⠪ ࠭祭  .
,     設 設⢮ ஢  ,
 ࠢ ᫮, , ᨢ   ᫮ 
ࠢ ᠬ  ࠢ  ᠬ.  ࠧ,  VAX-11
᫥ ᫥⥫쭮   8,   VAX 
⢨   int (4-⭮ ᫮)   砫쭮
䨧᪮ :
.
        struct s_tag {
                char c;
                int i;
        };
        printf("%d\n",sizeof(s_tag));

#    ࠭   ᭮ ࠧ㬥,
 ,   ⢫     ⨯ ,
 ७ᨬ묨,  ,  砥 २⢠ 
⥪ ⭮ 設, ⠪ ७ᨬ.
#  ࠧ, ꥤ, ᮤঠ騥 ,  ७ᨬ묨,
᫨ ꥤ ᯮ  ⢫ 㯠    ⥬  
ࠧ묨 ᯮᮡ. ꥤ   ७ᨬ, ᫨
 ᯮ  ࠧ饭 ࠧ     ⮬ 
࠭⢥  ࠧ  ६. ਬ, ᫨ ᫥饥 ꥤ
㤥 ᯮ짮  祭 4    ᫮,   㤥
୮ᨬ:
.
        union {
                char c[4];
                long lw;
        }u;

#  sizeof  ᥣ ᯮ짮  ⥭   :
.
        struct s_tag st;
        ...
        write(fd,&st,sizeof(st));

#  ᯥ ७ᨬ 室 .    ᮧ
७ᨬ 䠩 . ७ᨬ  㤥 ᬮ७   
᫥ ࠧ.
# ⬥⨬,   sizeof 頥 ᫮ ,  ꥪ 㤥
  ᨢ.  ࠧ,  設,   ᥣ
ࠢ  ࠭ 砫 ᫮  ,  sizeof 㤥 
室     頥 祭,   ⮬ 砥,
᫨  ⨫ ᫥     .
 砥 ᨬ  ⮣,    㬥 ⢨⥫쭮
⮬ ᨢ.
. 2
冷 ⮢  ᫮
#   浪 ⮢  ᫮   ७ᨬ 
, 祬 ७ᨬ 室 .  ணࠬ, 
ᯮ ७ 冷 ⮢  ᫮,  ७ᨬ.
ਬ,   ⥬  include-䠩 misc.h, 
ᮤন ᫥饥  :
.sw
        /*
         *   㯠
         *  楫  
         */
        struct {
                char lobyte;
                char hibyte;
        };

#  ।묨  ࠭祭묨 ࠬ    
ᯮ짮  㯠  襬  襬  浪 ⠬ 
⤥쭮  楫 ᫠, ᯮᮡ 㯠  ⮬ ९⢮ 
७ᨬ. ࠢ   믮 ⮩  砥
 ᯮ짮 ᪨  権 ᤢ  뤥 㦭 :
.
        #define LOBYTE(i) (i&0xff)
        #define HIBYTE(i) ((i>>8)&0xff)

# ⬥⨬,     室    設,   int
  .
#   १⮢ ஡ 浪 ⮢  ,  ᫥
᫥⥫쭮   ᥣ 㤥 믮  ࠧ:
.
        int c=0;

        read(fd,&c,1);

#  設,  訩  浪  ࠭ , 祭 c
㤥 ࠢ ⠭ 祭 .  㣨 設 뢠 
⫨祭  襣  浪 ,  祭 
㤥 ࠧ.
. 2
⮢ 
# ⮢  ਬ    -. ,   ,
    祬 int,      ४뢠 ࠭ 楫 (int).
 室  ய᪠ ஬⪨  室  ᫥饩
࠭ 楫 (int).
#     ࠭⨩     int ᫥ ࠢ, 
ࠢ .  ࠧ,  ⮢    ᯮ짮
 ࠭ 䫠  㣨  ⮢ ,  ᯮ짮
 ꥤ   ⮢  ࠧ  ।  ७ᨬ.
#  祭 ७ᨬ ⤥쭮    ॢ 16 .
. 2
⥫
#   饤  ᪨  権  㪠⥫ﬨ. ணࠬ lint,
 ⭮, ᯮ  㦥 ᯮ ᢮  ࠢ
㪠⥫,  묨 ࠬ   ⮫ -ࠧ.
# ᥣ ७ᨬ  ᯮ짮 㪠⥫  ਬ
ਢ ⨯  ᢮  㪠⥫ 㣮, ᫨ 㪠⥫
ਭ ࠧ ⨯ .   ⮬  ᥣ 
।  ७ 浪 ⮢  ଠ ⨯ ,  
뢠 ७ᨬ.  ᫥饬 ࠣ 冷 ⮢  
ᨢ  ७ᨬ:
.
        char c[4];
        long *lp;

        lp = (long*)&c[0];
        *lp = 0x12345678L;

# ணࠬ lint 뤠 ।।⥫ ᮮ饭  ⠪ ᯮ짮
㪠⥫. ,  ਢ , 祭 । 뢠 ⢨⥫쭮
ࠢ  ࠢ.  ਥ, ,  ᯮ짮 㭪樨 malloc
  墠 ࠭⢠  ६,    ⨯ char.
ணࠬ  ⨯ char*,  頥 祭 ਢ  ⨯,
  ࠭  墠祭 . ᫨  ⨯  char*,
 lint 뤠 ।०, 饥 ࠢ쭮 ८ࠧ
⨯.  ⮬  㭪 malloc ᠭ ⠪, ⮡ ᥣ 
砫 , 㤮  ࠭  ⨯ . Lint   ⮣,
⮬   ⠪ ।०  ஡  ࠢ
.  ᫥饬 ਬ malloc ᯮ  祭  
ᨢ  50 楫 ᥫ:
.
        extern char *malloc();
        int *ip;

        ip = (int*)malloc(50*sizeof(int));

#  ਬ 맮 ।।⥫쭮 ᮮ饭 ணࠬ lint.
# 㪮⢮    XENIX ⢥ত,  㪠⥫   祭
( ਢ  ⨯) 楫, 襣, 祬 室   ࠭.
⨬,  ࠧ ⨯ int    設  ॠ樨.
 ⨯ 㤥 long   設  short -  㣨. 筮, 
, :
# sizeof(char*) == sizeof(int)
#  設⢥ ॠ権 祭 㫥 㪠⥫ NULL । 
楫 祭 0.   ਢ  ஡  㭪権, 
 㬥⮢-㪠⥫ , 祬 楫 ᫠.  ७ᨬ 
 । 祭 NULL ࠢ쭮 ࠧ ᥣ ᯮ:
# func((char*)NULL);
. 2
᭮ ࠭⢮
# ᭮ ࠭⢮, 㯭  ணࠬ, ࠡ   ࠢ
⥬ XENIX, ⥫쭮 ࠧ砥  ⥬  ⥬.  
PDP-11   㯭  64   ⠭ ணࠬ  .
訥 PDP-11   16- ய ᪠ 64 
   64   ⥪ ணࠬ. 㣨 設  ᪠
⥫쭮 訩 ⥪,  ⠪  訥 .
# 訥 ணࠬ  ணࠬ,  ॡ 让 
 ,   ஡  ७ᨬ   設.
. 2
⢮ ᨬ
#    ॡ ᯮ짮 ⢠ ᨬ ASCII. ᪨
⢥ ॡ    ᨬ  ॡ,
⮡ ᨬ  室  ⨯  char,  ⮡  ᨬ
 ⥫ 祭.
#  ⢥ ᨬ ASCII  ᨬ  祭  0  127.
 ࠧ,     ।⠢ 7 ⠬,   8-⭮--
設   ⥫, ⮣  char  
signed ()  unsigned ().
#  ⢮ ᮢ, ।  XENIX()  
䠩 /usr/include/ctype.h,   ᯮ짮  設⢠
஢ப  ਭ ᨬ  ன
㯯 ᨬ.  ᯥ稢   ७
 ⢠ ᨬ   設⢥ 砥   
稬,  ⭠ ப ࠢ  ⥪ ணࠬ. ࠢ:
# if(isupper(c))
# 
# if((c>='A')&&(c<='Z')).
#     ᮢ, ⠪, ਬ,  ஢ઠ 
⭠筮 ᫮, 䥪  ᯮ짮  .
஬ ⮣, ਬ  ᮢ    䥪⨢,
  ஢ઠ    if.
. 1
  
#  ᪮쪮 -஢, ࠡ  ࠢ XENIX(a).
 ⥬ PDP-11   "Ritchie". ,  11  設⢠ 㣨
⥬  ७ᨬ  .
. 2
   ᨬ ⨯
#  ⥪饥 ﭨ ஡ " ⨢ " ᨬ쭮 ⨯
(char)  ᥣ   㤮⢮⥫쭮.
# ஡  ७ ।⠢ ᮡ 쥧 ९⢨
 ᠭ ७ᨬ ,   饥 ६ 訬  襭
 ᠭ "஭⥫쭮" ,   ᭮뢠 
ᮡ ⭮ ॠ樨.
. 2
樨 ᤢ
#  ᤢ  "<<" ᤢ ᢮ ࠭  ஥ ᫮
 ,    ﬨ.  ⠪ 뢠 ᪨ ᤢ.
 ᤢ ࠢ ">>"
믮  ᪮ ᤢ  ⭮襭   稭.
᫨ ਬ   ⭮襭   稭, ᢮訥
    ﬨ (᪨ ᤢ)  묨 ⠬
(䬥᪨ ᤢ). 襭   ॠ樨,  ,
ᯮ騩 ᢥ  ⭮ ॠ樨,   ७ᨬ.
#  PDP-11 ᯮ 䬥᪨ ࠢ ᤢ.
⮡   ७, 室 믮 ᤢ 
  ⢥  ᪨ ᮮ⢥饥 ᫮, 饥 訩 冷 :
# char c;
# c = (c>>3)&0x1f;
#   ७  ⠪   ᯮ짮
 :
# char c;
# c = c/8;
. 2
 䨪
# ᯮ짮  祭   䨪஢
맮 ஡ ७ᨬ   ஢.  ⮣, ⮡
 ஡ , ணࠬ  ࠭ ᫥騥 祭 ⠪
⪨,  ⮫쪮 :
.
        祭  ९ 
         祭 
        譨 祭 

# ᯮ㥬 । 痢  ⠪   ᫮ 㭨
ᨬ । 譨 祭 .
# 祭, ࠧ騥   6 ᨬ, 㭨  設⢠
९஢ 몠 .
#    XENIX(᪨) ॠ     㪢
 䨪  ࠧ.
. 2
஢ ६
#   ⨯ ॣ஢ ६  㭪樨   ⭮
ᯥ祭  . 譨  ࡭  ॣ
  ॣ஢    맮 ஡ 
७ᨬ.
#  PDP-11 稬묨     ॣ஢,   
 ⨯ int, char  pointer.   㣨 設  
 ন  :
# register unsigned  short
  ⠪   .
# . .    ६ ॣ஢ ⨯,
  ६ ॣ஢ ⨯    
।.  ࠧ, ᫨ - ,  㤥
   .
. 2
८ࠧ ⨯
#    ᪮쪮 ࠢ  ᪠饣
᫥ ⮫ () ८ࠧ ⨯;
⠪ ᪠  ८ࠧ ⨯   ਢ ⨯.
 饩 ஡ ७ᨬ  筮 ८ࠧ ⨯
   ७.  ⥭樠쭠 ஡
 直 ࠧ  - 祭 ⨯ char ࠢ
 int. ਬ:
.
        char c;

        if(c==0x80)
        ...

. 0
 㤥 業 ୮  設   ७, ..
७    ந室 ।  ࠢ  0x80, 騬 ⨯ int.
# ⢥ ᭮ ࠢ  ⨯ char  int 룫廊
᫥騬 ࠧ:
.
        char c;

        if(c=='x')
        ...

#   , ..  ࠭,   ᨬ ⥫.
ᯮ짮 設 쬥 ⠭ থ  ७.
ਬ, ᫥ ணࠬ ⠥  PDP-11 "ff80":
.sw
        main()
        {
                printf("%x\n",'\200');
        }

# ८ࠧ ⨯ ⠪    । 㬥⮢ 㭪.
 char  short ⠭ int. 設   ७ char
 ९ ਧ. ਬ, ᫥ ணࠬ  
 設 -128:
.sw
        char c = 128;
        printf("%d\n",c);

#  ந室 ⮬,   ८ࠧ  int । ।祩
 㭪.  㭪   ।⠢  ࢮ砫쭮 ⨯
㬥,    int. ࠢ  ࠢ ⠪
樥 -    ᠭ ⥪, ᪠ 
 ७:
.sw
        char c=128;
        printf("%d\n",c&0xff);

. 2
㭪樨  ६ ᫮ 㬥⮢
# 㭪樨  ६ ᫮ 㬥⮢ ।⠢  ஡
७ᨬ, ᫨ ⨯ 㬥⮢ ⠪  ६묨.
      ࠧ ६ ⨯ .
#  XENIX(e)  include-䠩 /usr/include/varargs.h,
 ᮤন , ᯮ㥬  㭪  ६묨
㬥⠬  㯠  㬥⠬ ᯮᮡ, ࠭騬 ७ᨬ:
.sw
        typed char *va_list;
        #define va_dcl int va_alist;
        #define va_start(list) list=(char*)&va_alist
        #define va_end(list)
        #define va_arg(list,mode)
                ((mode*)(list+=sizeof(mode)))[-1]

# ம। va_end ᥩ  ॡ. ᯮ짮 ⠫
ᮢ 㤥   ਬ 筮 ணࠬ fprintf.
   㬥 ⨯ FILE*,  ன 㬥 ⨯ char*.
   ᫥ 㬥⮢  ६ 樨  ⥭.
 ।  ६ 믮 ᮤন ࠢ饩 ப (2-
㬥⮬).
#  ᪮쪮 ப  ணࠬ fprintf   㬥⮢ 
宦 室 䠩   ࠢ饩 ப 룫 ⠪:
.sw
 #include <varargs.h>
 #include <stdio.h>

 int
 fprintf(va_alist)
 va_dcl
 {
        va_list ap;  /* 㪠⥫  ᯨ᮪ 㬥⮢ */
        char *format;
        FILE *fp;

        va_start(ap);  /* 樠 㪠⥫  㬥 */
        fp = va_arg(ap,FILE*);
        format=va_arg(ap,char*);

        ...

 }
# ⨬,  ᥣ   㬥   fprintf.  㬥
   ம। va_dcl ⨯ int,
  ⢨⥫ ⨯  ६ 樨  ⥭.
⥫ 㬥⮢ ap 樠   va_start (⠭
  ࢮ 㬥). ᫥⥫ 㬥   
 ⥪ ⮫, ᪮  ⨯ ।   
ம। va_arg.   ⨯ ᢮ ண 㬥;
 ࠢ 㤠   ⥪  稭 㢥祭 㪠⥫
㬥⮢ ap.  fprintf  室 㯠ࢫ ப,
 ⨯ ᫥ 㬥⮢,      ᫥⥫쭮
⢫     맮 va_arg(). ਬ,
㬥 ⨯ double, int*  short  ⠭ ᫥騬
ࠧ:
.sw
        double dint;
        int *ip;
        short s;

        dint = va_arg(ap,double);
        ip = va_arg(ap,int*);
        s = va_arg(ap,short);

# ᯮ짮  ᮢ    ७ᨬ, 
 । । ⠭ ⮤ । 㬥⮢  ⥪.
 ⭮, ᫥      ,  ⨯,
訥, 祬 int (ਬ, char  short  設  
᫮)     int.
. 2
஭ 䥪, 冷 ᫥
#    ᪮쪮 ࠭⨩ 浪 業 ࠭  ࠦ
 㬥⮢  맮 㭪樨.  ࠧ:
# func(i++,i++);
. 0
 ᬠਢ  ७ᨬ,  :
# func(i++);
. 0
ᯮ짮 ࠧ㬭, ᫨ func  - ⭮
 ᯮ짮  ம।, .. ம। 
ᯮ짮 i   ࠧ. ।  XENIX(a)
 ᯮ  짮⥫᪨ ணࠬ;   ࠭
ᯮ짮 ᢮ 㬥  ,  ⮬ 筮 
뢠  㬥⮬, ᯮ騬 ஭ 䥪.  
ᯮ㥬묨 ਬࠬ  getc(), putc(), getchar(), putchar.
# ࠭  ᫥騬 ࠬ 易⥫쭮  ᫥ ࠢ:
# , && || ? :
# ⬥⨬,   ⮩   ࠧ⥫  
-।. ᮪ ⮢, ࠧ 묨  ᯨ᪥
, 易⥫쭮 ࠡ뢠 ᫥ ࠢ. , 
# register int a, b, c, d;
. 0
 PDP-11,     ⮫쪮  ॣ஢ ६,
 ᢮  ६   ६ ॣ஢ ⨯,
 ᨬ  .  ࠢ쭮 , ⠭饣
ᯮ 冷   ᢮ ६ ॣ஢ ⨯,
 ᯮ짮 ⤥  , .. 冷 ࠡ⪨
⤥ ஢  易⥫쭮 ᫥⥫:
.sw
        register int a;
        register int b;
        register int c;
        register int d;

. 1
  ணࠬ 㦥
# 設⢮ ணࠬ  ࠧ 㦤 ᯮ ⥬ 맮 
⥪ ணࠬ.  ࠧ 頥   
ணࠬ,   ᥣ  ७ᨬ묨,   ணࠬ,
 祭  ७ᨬ.
#  ᭥  २⢥ ७ᨬ  樮 ⥬
XENIX. 設⢮ ⥬ 맮 XENIX(a)  ᯥ᪨ 
⭮ 㦥 樮 ⥬     ॠ権 
 㣨 樮 ⥬. ਬ, getpwent()  㯠  ᮤন
䠩 ஫ XENIX(a),  getenv(),  ᯥ祭  楯樨
㦥   XENIX(e).
#  ணࠬ, ᮤঠ   䠩  ⠫,  ᯮ
䨪 짮⥫  ⥬,  ॣ஢  짮⥫,
ࠬ ନ  㣨 ⥬-ᨬ ࠬ,  
७ᨬ.  ⨯ ⠭  室   䠩,
ठ  ⢥ 㬥⮢  ப,   㦥,
   ᯮ짮 ࠬ஢  㬮砭 
ணࠬ XENIX(a) dfopen  dfread.
#  XENIX(a) 設⢮ ⥬ 맮   ணࠬ
७ᨬ । ࠧ 設  ॠ権 XENIX(a). ,
 ணࠬ    䥩  짮⥫.
⥪ ணࠬ XENIX(a) 筮 ७ᨬ । ⥬ XENIX.
# ⬥⨬,  童 ᥬ⢠ printf (printf, fprintf, sprintf, sscanf 
scanf) 﫨 ࠧ묨 ﬨ  祭 樨 XENIX(a),
   ᮡ  ᥣ ७ᨬ. 頥 稭 
ணࠬ  易⥫쭮    祭   ⥬.
  ८ࠧ ଠ⮢ ᨬ   祭,
 ᮡ ,   뢮    ᨬ 
⭠筮/筮 ,  ᠭ  (long)
楫  設  16- ᫮. ࠭ ࠢ筮 㪮⢠,
饭 printf, ᮤন ४⭮ ᠭ  ணࠬ.
. 1
७ᨬ 
#    ᥣ  ७ᨬ । ࠧ 設
⥪ CPU.  ⬥砫 , , ꥤ  ᨢ 
ࠧ ७ ଠ  ॡ    ࠧ 設.
 ⮬ , 冷 ⮢  ᫮  ⢨⥫쭠  ᫮
 ࠧ.
# ⢥ ⥬ ⨦ ७ᨬ 䠩  
  ⥭ 䠩     ᨬ ᨢ.
   ஡ ࠢ  , ᫨ 
뢠  뢠  ᨬ,   ⠪ ᯮᮡ.
 ࠧ, ⥪⮢ ASCII 䠩  筮 ७ 
ࠧ ⨯ 設  ᫨誮  ஡.
. 1
Lint
# Lint -  ணࠬ ஢ન,  ⠥ 㦨 ᮡ
 㯯 室 䠩  , ⥪  ७ᨬ  ४⥭.
  २ ணࠬ lint ᢥ  ஢ન 樥
 ஢ઠ  㭪権  饭  ᥬ 室 䠩.
 ,  । 痢 ⮣  .
# Lint 뤠 ।।⥫ ᮮ饭  ७ᨬ 䬥᪨
㪠⥫, ᢮  ८ࠧ ⨯. , ᫨ lint
 뤠  ।०,   砥,  ணࠬ ᮢ襭
७ᨬ.
. 1
⪮  浪 ⮢
#  ਢ ⠡ ᯮ ᫥騥 ᮣ襭:
# a0 - 訩 䨧᪨ 㥬   . a0+1,  ..
# b0 -  稬   ; b1 㤥 ᫥騬 
稬,  ..
# ⨬,   ணࠬ,  ⢨⥫쭮  ᯮ짮
 ଠ, ࠭஢  ७ᨬ!
.t2 6 冷 ⮢  ⪨ ⨯
        |---------------------------|
        |   CPU   | 冷 ⮢  |
        |---------|-----------------|
        |         |  a0    |   b0   |
        |---------------------------|
        |---------|--------|--------|
        | PDP-11  |  b0    |   b1   |
        |---------|--------|--------|
        | VAX-11  |  b0    |   b1   |
        |---------|--------|--------|
        | 8086    |  b0    |   b1   |
        |---------|--------|--------|
        | 286     |  b0    |   b1   |
        |---------|--------|--------|
        | M68000  |  b1    |   b0   |
        |---------|--------|--------|
        | Z8000   |  b1    |   b0   |
        |---------|--------|--------|

.t2 6 冷 ⮢   ⨯
        |--------------------------------------------|
        |   CPU   |          冷 ⮢          |
        |---------|----------------------------------|
        |         |  a0    |   a1   |   a2   |   a3  |
        |--------------------------------------------|
        |---------|--------|--------|--------|-------|
        | PDP-11  |  b2    |   b3   |   b0   |   b1  |
        |---------|--------|--------|--------|-------|
        | VAX-11  |  b0    |   b1   |   b2   |   b3  |
        |---------|--------|--------|--------|-------|
        | 8086*   |  b0    |   b1   |   b2   |   b3  |
        |---------|--------|--------|--------|-------|
        | 8086**  |  b2    |   b3   |   b0   |   b1  |
        |---------|--------|--------|--------|-------|
        | 286     |  b0    |   b1   |   b2   |   b3  |
        |---------|--------|--------|--------|-------|
        | M68000  |  b3    |   b2   |   b1   |   b0  |
        |---------|--------|--------|--------|-------|
        | Z8000   |  b3    |   b2   |   b1   |   b0  |
        |---------|--------|--------|--------|-------|

# ⬥⨬,  冷 ⮢   ⨯  PDP-11  設  
8086    (   CPU - ).
 ⠡ ᭮  PDP-11   Ritchie.
ப 8086* 뢠  冷 ⮢  ஢, ᯮ
冷 ᫮  XENIX System V (--訩). ப 8086**
뢠 冷 ⮢  ஢ XENIX 3.0 (--訩).
짮⥫ 8086  ᯮ짮 dtype(C)   ।,
  䠩 ⥬ ᫮.
. Include - 䠩 몠 
#  ⠡ ਢ ᯨ᮪ include-䠩 
ࠧ ஢ 몠 
. 5
-------------------------------------------------------------------------------
               | MSC  | Turbo-C |  XENIX   | OC  | -2 |  OCI   | ANSI
include           | V5.0 |  V1.5   | SYSTEM V | AIX |         | VENIX  |⠭
 䠩            |      |         |          | V1.1|         |        |
------------------|------|---------|----------|-----|---------|--------|-------
a.out.h           |      |         |    +     |  +  |         |        |
alloc.h           |      |   +     |          |     |         |        |
ar.h              |      |         |    +     |  +  |         |        |
assert.h          |  +   |   +     |    +     |  +  |         |        |   +
backup.h          |      |         |          |  +  |         |        |
bios.h            |  +   |   +     |          |     |         |        |
cfg01.h-          |      |         |          |     |         |        |
cfg04.h           |      |         |          |  +  |         |        |
conio.h           |  +   |   +     |    +*    |     |         |        |
core.h            |      |         |    +     |  +  |         |        |
ctype.h           |  +   |   +     |    +     |  +  |         |        |   +
cur01.h-          |      |         |          |     |         |        |
cur05.h           |      |         |          |  +  |         |        |
curses.h          |      |         |    +     |  +  |         |        |
dbm.h             |      |         |    +     |  +  |         |        |
dial.h            |      |         |    +     |     |         |        |
dir.h             |      |   +     |          |     |         |        |
direct.h          |  +   |         |    +*    |     |         |        |
dmpfmt.h          |      |         |          |  +  |         |        |
dos.h             |  +   |   +     |    +*    |  +  |         |        |
doserrno.h        |      |         |          |  +  |         |        |
dumprestor.h      |      |         |    +     |     |         |        |
errno.h           |  +   |   +     |    +     |  +  |         |        |
execargs.h        |      |         |    +     |  +  |         |        |
fatal.h           |      |         |          |  +  |         |        |
fcntl.h           |  +   |   +     |    +     |  +  |         |        |
filechdr.h        |      |         |          |  +  |         |        |
float.h           |  +   |   +     |          |     |         |        |
ftw.h             |      |         |    +     |  +  |         |        |
gpoff.h           |      |         |          |  +  |         |        |
graph.h           |  +   |         |          |     |         |        |
graphics.h        |      |   +     |          |     |         |        |
grp.h             |      |         |    +     |  +  |         |        |
gslerrno.h        |      |         |          |  +  |         |        |
ieeetrap.h        |      |         |          |  +  |         |        |
inu21.h           |      |         |          |  +  |         |        |
io.h              |  +   |   +     |    +*    |     |         |        |
limits.h          |  +   |   +     |          |     |         |        |
linenum.h         |      |         |          |  +  |         |        |
local.h           |      |         |          |     |         |        |   +
lockcmn.h         |      |         |    +     |     |         |        |
lprio.h           |      |         |          |  +  |         |        |
macros.h          |      |         |    +     |  +  |         |        |
malloc.h          |  +   |         |    +     |     |         |        |
math.h            |  +   |   +     |    +     |  +  |         |        |   +
mdverify.h        |      |         |          |  +  |         |        |
mem.h             |      |   +     |          |     |         |        |
memory.h          |  +   |         |    +     |  +  |         |        |
mnttab.h          |      |         |    +     |  +  |         |        |
mon.h             |      |         |    +     |  +  |         |        |
msg00.h-msg10.h   |      |         |          |  +  |         |        |
nan.h             |      |         |          |  +  |         |        |
nlist.h           |      |         |          |  +  |         |        |
process.h         |  +   |   +     |    +*    |     |         |        |
pwd.h             |      |         |    +     |  +  |         |        |
regexp.h          |      |         |    +     |  +  |         |        |
register.h        |      |         |    +*    |     |         |        |
sd.h              |      |         |    +     |     |         |        |
search.h          |  +   |   +     |    +     |  +  |         |        |
setjmp.h          |  +   |   +     |    +     |  +  |         |        |   +
sgtty.h           |      |         |    +     |     |         |        |
share.h           |  +   |   +     |    +*    |     |         |        |
signal.h          |  +   |   +     |    +     |  +  |         |        |   +
stand.h           |      |         |    +     |  +  |         |        |
spawn.h           |      |         |    +*    |     |         |        |
stdarg.h          |  +   |   +     |          |     |         |        |   +
stddef.h          |  +   |   +     |          |     |         |        |   +
stdio.h           |  +   |   +     |    +     |  +  |         |        |   +
stdlib.h          |  +   |   +     |    +*    |     |         |        |   +
string.h          |  +   |   +     |    +     |  +  |         |        |   +
sysm.h            |      |         |          |  +  |         |        |
term.h            |      |         |    +     |  +  |         |        |
termio.h          |      |         |    +     |  +  |         |        |
time.h            |  +   |   +     |    +     |  +  |         |        |   +
uinfo.h           |      |         |          |  +  |         |        |
unctrl.h          |      |         |          |  +  |         |        |
unistd.h          |      |         |    +     |  +  |         |        |
ustat.h           |      |         |    +     |  +  |         |        |
utmp.h            |      |         |    +     |  +  |         |        |
v2tov3.h          |      |         |    +*    |     |         |        |
values.h          |      |   +     |    +     |  +  |         |        |
varargs.h         |  +   |         |    +     |  +  |         |        |
vrcchar.h         |      |         |          |  +  |         |        |
vrcppr.h          |      |         |          |  +  |         |        |
vrm.h             |      |         |          |  +  |         |        |
sys/FP.h          |      |         |          |  +  |         |        |
sys/a.out.h       |      |         |    +     |     |         |        |
sys/acct.h        |      |         |    +     |  +  |         |        |
sys/asdef.h       |      |         |          |  +  |         |        |
sys/assert.h      |      |         |    +     |     |         |        |
sys/bioca.h       |      |         |          |  +  |         |        |
sys/brk.h         |      |         |    +     |     |         |        |
sys/buf.h         |      |         |    +     |  +  |         |        |
sys/callo.h       |      |         |    +     |  +  |         |        |
sys/clock.h       |      |         |          |  +  |         |        |
sys/comcrt.h      |      |         |    +     |     |         |        |
sys/conf.h        |      |         |    +     |  +  |         |        |
sys/console.h     |      |         |    +     |     |         |        |
sys/crtctl.h      |      |         |    +     |     |         |        |
sys/debug.h       |      |         |          |  +  |         |        |
sys/devinfo.h     |      |         |          |  +  |         |        |
sys/dio.h         |      |         |    +     |     |         |        |
sys/dir.h         |      |         |    +     |  +  |         |        |
sys/direache.h    |      |         |          |  +  |         |        |
sys/dump.h        |      |         |          |  +  |         |        |
sys/dynaprobe.h   |      |         |          |  +  |         |        |
sys/elog.h        |      |         |          |  +  |         |        |
sys/erec.h        |      |         |          |  +  |         |        |
sys/err.h         |      |         |          |  +  |         |        |
sys/errno.h       |      |         |    +     |  +  |         |        |
sys/fblk.h        |      |         |    +     |  +  |         |        |
sys/fd.h          |      |         |          |  +  |         |        |
sys/file.h        |      |         |    +     |  +  |         |        |
sys/filsys.h      |      |         |    +     |  +  |         |        |
sys/fpfp.h        |      |         |          |  +  |         |        |
sys/fpfpi.h       |      |         |          |  +  |         |        |
sys/fstypes       |      |         |          |  +  |         |        |
sys/hft.h         |      |         |          |  +  |         |        |
sys/hwdbus.h      |      |         |          |  +  |         |        |
sys/idd.h         |      |         |    +     |     |         |        |
sys/init.h        |      |         |          |  +  |         |        |
sys/ino.h         |      |         |    +     |  +  |         |        |
sys/inode.h       |      |         |    +     |  +  |         |        |
sys/io.h          |      |         |          |  +  |         |        |
sys/iobuf.h       |      |         |    +     |  +  |         |        |
sys/ioctl.h       |      |         |    +     |  +  |         |        |
sys/ipc.h         |      |         |    +     |  +  |         |        |
sys/kcfg.h        |      |         |          |  +  |         |        |
sys/kcs.h         |      |         |          |  +  |         |        |
sys/kio.h         |      |         |          |  +  |         |        |
sys/kmon.h        |      |         |    +     |     |         |        |
sys/kproc.h       |      |         |          |  +  |         |        |
sys/kpsb.h        |      |         |          |  +  |         |        |
sys/ksvc.h        |      |         |          |  +  |         |        |
sys/lock.h        |      |         |    +     |  +  |         |        |
sys/lockcmn.h     |      |         |    +     |     |         |        |
sys/lockf.h       |      |         |          |  +  |         |        |
sys/locking.h     |  +   |         |    +     |     |         |        |
sys/low.h         |      |         |          |  +  |         |        |
sys/lprio.h       |      |         |          |  +  |         |        |
sys/mashdep.h     |      |         |    +     |     |         |        |
sys/map.h         |      |         |    +     |  +  |         |        |
sys/mmu.h         |      |         |    +     |     |         |        |
sys/mount.h       |      |         |    +     |  +  |         |        |
sys/msg.h         |      |         |    +     |  +  |         |        |
sys/ndir.h        |      |         |    +     |     |         |        |
sys/ndp.h         |      |         |    +     |     |         |        |
sys/nfs.h         |      |         |    +     |     |         |        |
sys/opt.h         |      |         |          |  +  |         |        |
sys/param.h       |      |         |    +     |  +  |         |        |
sys/preadi.h      |      |         |    +     |     |         |        |
sys/pri.h         |      |         |          |  +  |         |        |
sys/proc.h        |      |         |    +     |  +  |         |        |
sys/proctl.h      |      |         |    +     |     |         |        |
sys/pty.h         |      |         |          |  +  |         |        |
sys/rebust.h      |      |         |          |  +  |         |        |
sys/reg.h         |      |         |    +     |  +  |         |        |
sys/relsym.h      |      |         |    +     |     |         |        |
sys/relsym86.h    |      |         |    +     |     |         |        |
sys/sd.h          |      |         |    +     |     |         |        |
sys/seg.h         |      |         |          |  +  |         |        |
sys/sem.h         |      |         |    +     |  +  |         |        |
sys/shm.h         |      |         |    +     |  +  |         |        |
sys/signal.h      |      |         |    +     |  +  |         |        |
sys/sites.h       |      |         |    +     |     |         |        |
sys/space.h       |      |         |    +     |  +  |         |        |
sys/stat.h        |  +   |   +     |    +     |  +  |         |        |
sys/sysinfo.h     |      |         |    +     |  +  |         |        |
sys/sysmacros.h   |      |         |    +     |  +  |         |        |
sys/systm.h       |      |         |    +     |  +  |         |        |
sys/tape.h        |      |         |          |  +  |         |        |
sys/termio.h      |      |         |    +     |  +  |         |        |
sys/text.h        |      |         |    +     |  +  |         |        |
sys/timeb.h       |  +   |         |    +     |     |         |        |
sys/times.h       |      |         |    +     |  +  |         |        |
sys/trace.h       |      |         |          |  +  |         |        |
sys/trap.h        |      |         |          |  +  |         |        |
sys/ttold.h       |      |         |    +     |     |         |        |
sys/tty.h         |      |         |    +     |  +  |         |        |
sys/types.h       |  +   |         |    +     |  +  |         |        |
sys/uio.h         |      |         |          |  +  |         |        |
sys/ulimit.h      |      |         |    +     |     |         |        |
sys/user.h        |      |         |    +     |  +  |         |        |
sys/utime.h       |  +   |         |    +*    |     |         |        |
sys/utsname.h     |      |         |    +     |  +  |         |        |
sys/var.h         |      |         |    +     |  +  |         |        |
sys/vrmtimer.h    |      |         |          |  +  |         |        |
. ⥪ 몠 
#  ⠡ ਢ ᯨ᮪  㭪権 
ࠧ ஢ 몠 
. 5
-------------------------------------------------------------------------------
               | MSC  | Turbo-C |  XENIX   | OC  | -2 |  OC    | ANSI
筮 㭪-| V5.0 |  V1.5   | SYSTEM V | AIX |         | VENIX  |⠭
樨  ⥪|      |         |          | V1.1|         |        |
------------------|------|---------|----------|-----|---------|--------|-------
abort             |  +   |         |          |     |         |        |   +
abs               |  +   |         |          |     |         |        |   +
acces             |  +   |         |          |     |         |        |
acos              |  +   |         |          |     |         |        |   +
asctime           |  +   |         |          |     |         |        |   +
asin              |  +   |         |          |     |         |        |   +
assert            |  +   |         |          |     |         |        |   +
atan              |  +   |         |          |     |         |        |   +
atan2             |  +   |         |          |     |         |        |   +
atexit            |      |         |          |     |         |        |   +
atof              |  +   |         |          |     |         |        |   +
atoi              |  +   |         |          |     |         |        |   +
atol              |  +   |         |          |     |         |        |   +
bessel            |  +   |         |          |     |         |        |
bsearch           |  +   |         |          |     |         |        |   +
cabs              |  +   |         |          |     |         |        |
calloc            |  +   |         |          |     |         |        |   +
ceil              |  +   |         |          |     |         |        |   +
cgets             |  +   |         |          |     |         |        |
chdir             |  +   |         |          |     |         |        |
chmod             |  +   |         |          |     |         |        |
chsize            |  +   |         |          |     |         |        |
_clear87          |  +   |         |          |     |         |        |
clearerr          |  +   |         |          |     |         |        |   +
clock             |      |         |          |     |         |        |   +
close             |  +   |         |          |     |         |        |
compar            |      |         |          |     |         |        |   +
_control87        |  +   |         |          |     |         |        |
cos               |  +   |         |          |     |         |        |   +
cosh              |  +   |         |          |     |         |        |   +
cprintf           |  +   |         |          |     |         |        |
cputs             |  +   |         |          |     |         |        |
creat             |  +   |         |          |     |         |        |
cscanf            |  +   |         |          |     |         |        |
ctime             |  +   |         |          |     |         |        |   +
dieeetomsbin-     |      |         |          |     |         |        |
dmsbintoieee      |  +   |         |          |     |         |        |
difftime          |  +   |         |          |     |         |        |   +
div               |      |         |          |     |         |        |   +
dosexterr         |  +   |         |          |     |         |        |
dup               |  +   |         |          |     |         |        |
dup2              |  +   |         |          |     |         |        |
ecvt              |  +   |         |          |     |         |        |
eof               |  +   |         |          |     |         |        |
execl             |  +   |         |          |     |         |        |
execle            |  +   |         |          |     |         |        |
execlp            |  +   |         |          |     |         |        |
execlpe           |  +   |         |          |     |         |        |
execve            |  +   |         |          |     |         |        |
execvp            |  +   |         |          |     |         |        |
execvpe           |  +   |         |          |     |         |        |
_exit             |  +   |         |          |     |         |        |
exit              |  +   |         |          |     |         |        |   +
exp               |  +   |         |          |     |         |        |   +
expand            |  +   |         |          |     |         |        |
fabs              |  +   |         |          |     |         |        |   +
fclose            |  +   |         |          |     |         |        |   +
fcloseall         |  +   |         |          |     |         |        |
fcvt              |  +   |         |          |     |         |        |
fdopen            |  +   |         |          |     |         |        |
feof              |  +   |         |          |     |         |        |   +
ferror            |  +   |         |          |     |         |        |   +
fflush            |  +   |         |          |     |         |        |   +
_ffree            |  +   |         |          |     |         |        |
fgetc             |  +   |         |          |     |         |        |   +
fgetchar          |  +   |         |          |     |         |        |
fgetpos           |      |         |          |     |         |        |   +
fgets             |  +   |         |          |     |         |        |   +
fieeetomsbin -    |      |         |          |     |         |        |
fmsbintoieee      |  +   |         |          |     |         |        |
filelength        |  +   |         |          |     |         |        |
fileno            |  +   |         |          |     |         |        |
floor             |  +   |         |          |     |         |        |   +
flushall          |  +   |         |          |     |         |        |
_fmalloc          |  +   |         |          |     |         |        |
fmod              |  +   |         |          |     |         |        |   +
_fmsize           |  +   |         |          |     |         |        |
fopen             |  +   |         |          |     |         |        |   +
FP_OFF            |  +   |         |          |     |         |        |
_fpreset          |  +   |         |          |     |         |        |
fprintf           |  +   |         |          |     |         |        |   +
FP_SEG            |  +   |         |          |     |         |        |
fputc             |  +   |         |          |     |         |        |   +
fputchar          |  +   |         |          |     |         |        |
fputs             |  +   |         |          |     |         |        |   +
fread             |  +   |         |          |     |         |        |   +
free              |  +   |         |          |     |         |        |   +
_freect           |  +   |         |          |     |         |        |
frexp             |  +   |         |          |     |         |        |   +
freopen           |  +   |         |          |     |         |        |   +
fscanf            |  +   |         |          |     |         |        |   +
fseek             |  +   |         |          |     |         |        |   +
fsetpos           |      |         |          |     |         |        |   +
fstat             |  +   |         |          |     |         |        |
ftell             |  +   |         |          |     |         |        |   +
ftime             |  +   |         |          |     |         |        |
fwrite            |  +   |         |          |     |         |        |   +
gcvt              |  +   |         |          |     |         |        |
getc              |  +   |         |          |     |         |        |   +
getch             |  +   |         |          |     |         |        |
getche            |  +   |         |          |     |         |        |
getchar           |  +   |         |          |     |         |        |   +
getcwd            |  +   |         |          |     |         |        |
getenv            |  +   |         |          |     |         |        |   +
getpid            |  +   |         |          |     |         |        |
gets              |  +   |         |          |     |         |        |   +
getw              |  +   |         |          |     |         |        |
gmtime            |  +   |         |          |     |         |        |   +
halloc            |  +   |         |          |     |         |        |
hfree             |  +   |         |          |     |         |        |
hypot             |  +   |         |          |     |         |        |
inp               |  +   |         |          |     |         |        |
int86             |  +   |         |          |     |         |        |
int86x            |  +   |         |          |     |         |        |
intdos            |  +   |         |          |     |         |        |
intdosx           |  +   |         |          |     |         |        |
isalnum           |  +   |         |          |     |         |        |   +
isalpha           |  +   |         |          |     |         |        |   +
isatty            |  +   |         |          |     |         |        |
iscntrl           |  +   |         |          |     |         |        |   +
isdigit           |  +   |         |          |     |         |        |   +
isgraph           |  +   |         |          |     |         |        |   +
islower           |  +   |         |          |     |         |        |   +
isprint           |  +   |         |          |     |         |        |   +
ispunct           |  +   |         |          |     |         |        |   +
isspace           |  +   |         |          |     |         |        |   +
isupper           |  +   |         |          |     |         |        |   +
isxdigit          |  +   |         |          |     |         |        |   +
itoa              |  +   |         |          |     |         |        |
kbhit             |  +   |         |          |     |         |        |
labs              |  +   |         |          |     |         |        |   +
ldexp             |  +   |         |          |     |         |        |   +
ldiv              |      |         |          |     |         |        |   +
lfind-lsearch     |  +   |         |          |     |         |        |
localtime         |  +   |         |          |     |         |        |   +
locking           |  +   |         |          |     |         |        |
log               |  +   |         |          |     |         |        |   +
log10             |  +   |         |          |     |         |        |   +
longjmp           |  +   |         |          |     |         |        |   +
lseek             |  +   |         |          |     |         |        |
ltoa              |  +   |         |          |     |         |        |
malloc            |  +   |         |          |     |         |        |   +
matherr           |  +   |         |          |     |         |        |
_memavl           |  +   |         |          |     |         |        |
memchr            |  +   |         |          |     |         |        |   +
memcmp            |  +   |         |          |     |         |        |   +
memcpy            |  +   |         |          |     |         |        |   +
memicmp           |  +   |         |          |     |         |        |
memmove           |      |         |          |     |         |        |   +
memset            |  +   |         |          |     |         |        |   +
mkdir             |  +   |         |          |     |         |        |
mktime            |      |         |          |     |         |        |   +
mktemp            |  +   |         |          |     |         |        |
modf              |  +   |         |          |     |         |        |   +
movedata          |  +   |         |          |     |         |        |
_msize            |  +   |         |          |     |         |        |
_nfree            |  +   |         |          |     |         |        |
_nmalloc          |  +   |         |          |     |         |        |
_nmsize           |  +   |         |          |     |         |        |
offsetof          |      |         |          |     |         |        |   +
onexit            |  +   |         |          |     |         |        |
open              |  +   |         |          |     |         |        |
outp              |  +   |         |          |     |         |        |
perror            |  +   |         |          |     |         |        |   +
pow               |  +   |         |          |     |         |        |   +
printf            |  +   |         |          |     |         |        |   +
putc              |  +   |         |          |     |         |        |   +
putch             |  +   |         |          |     |         |        |
putchar           |  +   |         |          |     |         |        |   +
putenv            |  +   |         |          |     |         |        |
puts              |  +   |         |          |     |         |        |   +
putw              |  +   |         |          |     |         |        |
qsort             |  +   |         |          |     |         |        |   +
raise             |      |         |          |     |         |        |   +
rand              |  +   |         |          |     |         |        |   +
read              |  +   |         |          |     |         |        |
realloc           |  +   |         |          |     |         |        |   +
remove            |  +   |         |          |     |         |        |   +
rename            |  +   |         |          |     |         |        |   +
rewind            |  +   |         |          |     |         |        |   +
rmdir             |  +   |         |          |     |         |        |
rmtmp             |  +   |         |          |     |         |        |
sbrk              |  +   |         |          |     |         |        |
scanf             |  +   |         |          |     |         |        |   +
segread           |  +   |         |          |     |         |        |
setbuf            |  +   |         |          |     |         |        |   +
setlocale         |      |         |          |     |         |        |   +
setjmp            |  +   |         |          |     |         |        |   +
setmode           |  +   |         |          |     |         |        |
setvbuf           |  +   |         |          |     |         |        |   +
signal            |  +   |         |          |     |         |        |   +
sin               |  +   |         |          |     |         |        |   +
sinh              |  +   |         |          |     |         |        |   +
sopen             |  +   |         |          |     |         |        |
sprintf           |  +   |         |          |     |         |        |   +
spawnl-spawnvpe   |  +   |         |          |     |         |        |
sqrt              |  +   |         |          |     |         |        |   +
srand             |  +   |         |          |     |         |        |   +
sscanf            |  +   |         |          |     |         |        |   +
stackvail         |  +   |         |          |     |         |        |
stat              |  +   |         |          |     |         |        |
_status87         |  +   |         |          |     |         |        |
strcat            |  +   |         |          |     |         |        |   +
strchr            |  +   |         |          |     |         |        |   +
strcmp            |  +   |         |          |     |         |        |   +
strcmpi,stricmp   |  +   |         |          |     |         |        |
strcoll           |      |         |          |     |         |        |   +
strcpy            |  +   |         |          |     |         |        |   +
strcspn           |  +   |         |          |     |         |        |
strdup            |  +   |         |          |     |         |        |
strerror          |  +   |         |          |     |         |        |   +
strftime          |      |         |          |     |         |        |   +
strlen            |  +   |         |          |     |         |        |   +
strlwr            |  +   |         |          |     |         |        |
strncat           |  +   |         |          |     |         |        |   +
strncmp           |  +   |         |          |     |         |        |   +
strncpy           |  +   |         |          |     |         |        |   +
strnicmp          |  +   |         |          |     |         |        |
strnset           |  +   |         |          |     |         |        |
strpbrk           |  +   |         |          |     |         |        |   +
strrchr           |  +   |         |          |     |         |        |
strrev            |  +   |         |          |     |         |        |
strset            |  +   |         |          |     |         |        |
strspn            |  +   |         |          |     |         |        |   +
strstr            |  +   |         |          |     |         |        |   +
strtod            |  +   |         |          |     |         |        |   +
strtok            |  +   |         |          |     |         |        |   +
strtol            |  +   |         |          |     |         |        |   +
strtoul           |      |         |          |     |         |        |   +
strupr            |  +   |         |          |     |         |        |
swab              |  +   |         |          |     |         |        |
system            |  +   |         |          |     |         |        |   +
tan               |  +   |         |          |     |         |        |   +
tanh              |  +   |         |          |     |         |        |   +
tell              |  +   |         |          |     |         |        |
tempnam           |  +   |         |          |     |         |        |
time              |  +   |         |          |     |         |        |   +
tmpfile           |  +   |         |          |     |         |        |   +
tmpnam            |  +   |         |          |     |         |        |   +
toascii           |  +   |         |          |     |         |        |
tolower           |  +   |         |          |     |         |        |   +
toupper           |  +   |         |          |     |         |        |   +
tzset             |  +   |         |          |     |         |        |
ultoa             |  +   |         |          |     |         |        |
umask             |  +   |         |          |     |         |        |
ungetc            |  +   |         |          |     |         |        |   +
unlink            |  +   |         |          |     |         |        |
utime             |  +   |         |          |     |         |        |
va_start          |  +   |         |          |     |         |        |   +
va_arg            |  +   |         |          |     |         |        |   +
va_end            |  +   |         |          |     |         |        |   +
vfprintf          |  +   |         |          |     |         |        |   +
vprintf           |  +   |         |          |     |         |        |   +
vsprintf          |  +   |         |          |     |         |        |   +
write             |  +   |         |          |     |         |        |





