home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / c1.doc / c2.doc < prev    next >
Encoding:
Text File  |  1988-04-27  |  72.7 KB  |  1,439 lines

  1.                                       - 40 -
  2.                                           
  3.                
  4.          
  5.          ªÑΓ íδΓ∞ ºáñá¡á í«½ÑÑ τѼ «ñ¡á »ÑαѼѡ¡á∩ »πΓѼ ºáñá¡¿∩  ¼¡«ªÑßΓ-
  6.          óÑ¡¡«ú«  «í"∩ó½Ñ¡¿∩,  ó  ¬«Γ«α«¼  ñѬ½áαáΓ«αδ αáºñÑ½Ñ¡δ ºá»∩Γ묨.
  7.          <sc- spesifier> ºáñáÑΓ ¬½áßß »á¼∩Γ¿ »ÑαѼѡ¡«⌐. é ¡Ñ¬«Γ«αδσ  ß½π-
  8.          τá∩σ  »ÑαѼѡ¡δÑ  ¼«úπΓ íδΓ∞ ¿¡¿µ¿á½¿º¿α«óá¡δ »α¿ ¿σ «»αÑñѽѡ¿¿.
  9.          è½áßßδ »á¼∩Γ¿ ¿ ¿¡¿µ¿á½¿ºáµ¿∩ «»¿ßá¡δ ó αáºñѽáσ 4.6 ¿ 4.7  ß««Γ-
  10.          óÑΓßΓóÑ¡¡«.
  11.                                        
  12.                
  13.                4.4.1. Äí"∩ó½Ñ¡¿Ñ »α«ßΓ«⌐ »ÑαѼѡ¡«⌐
  14.                 
  15.                æ¿¡Γá¬ß¿ß:
  16.                 
  17.                <type-specifier><identifier>[,<identifier>...];
  18.                 
  19.                Äí"∩ó½Ñ¡¿Ñ  »α«ßΓ«⌐  »ÑαѼѡ¡«⌐ «»αÑñѽ∩ÑΓ ¿¼∩ »ÑαѼѡ¡«⌐ ¿
  20.          ÑÑ Γ¿»; «¡« ¼«ªÑΓ ΓᬪѠ«»αÑñѽ∩Γ∞ ¬½áßß »á¼∩Γ¿  »ÑαѼѡ¡«⌐,  ¬á¬
  21.          φΓ« «»¿ßá¡« ó αáºñѽѠ4.6. ê¼∩ »ÑαѼѡ¡«⌐- φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ºá-
  22.          ñá¡¡δ⌐  ó  «í"∩ó½Ñ¡¿¿.  æ»Ñµ¿Σ¿¬áΓ«α Γ¿»á <type-specifier> ºáñáÑΓ
  23.          ¿¼∩ «»αÑñѽ∩Ѽ«ú« Γ¿»á ñá¡¡δσ.
  24.                î«ª¡« «»αÑñѽ¿Γ∞ ¿¼Ñ¡á αẽ¿τ¡δσ »ÑαѼѡ¡δσ ó Γ«¼ ªÑ  ßἫ¼
  25.          «í"∩ó½Ñ¡¿¿,  ºáñáóá∩ ß»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, αáºñѽѡ¡δσ ºá»∩Γ«⌐.
  26.          èáªñδ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ß»¿ß¬á ¿¼Ñ¡πÑΓ »ÑαѼѡ¡πε.  éßÑ  »ÑαѼѡ¡δÑ,
  27.          ºáñá¡¡δÑ ó «í"∩ó½Ñ¡¿¿, ¿¼ÑεΓ «ñ¿¡ ¿ Γ«Γ ªÑ Γ¿».
  28.                 
  29.                Åα¿¼Ñαδ
  30.                 
  31.                int x;                            /* Example 1 */
  32.                 
  33.                unsigned long reply, flag         /* Example 2 */
  34.                 
  35.                double order;                     /* Example 3 */
  36.                 
  37.                é  »Ñαó«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »α«ßΓá∩ »ÑαѼѡ¡á∩ x. ¥Γá »Ñ-
  38.          αѼѡ¡á∩ ¼«ªÑΓ »α¿¡¿¼áΓ∞ ½εí«Ñ º¡áτÑ¡¿Ñ  ¿º  ¼¡«ªÑßΓóá  º¡áτÑ¡¿⌐,
  39.          «»αÑñѽ∩Ѽδσ ñ½∩ Γ¿»á int.
  40.                é«  óΓ«α«¼  »α¿¼ÑαÑ «í"∩ó½Ñ¡δ ñóÑ »ÑαѼѡ¡δÑ: reply ¿ flag.
  41.          ÄíÑ »ÑαѼѡ¡δÑ ¿¼ÑεΓ Γ¿» unsigned long.
  42.                é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «í"∩ó½Ñ¡á »ÑαѼѡ¡á∩ order, ¬«Γ«αá∩ ¿¼ÑÑΓ
  43.          Γ¿» double. ¥Γ«⌐ »ÑαѼѡ¡«⌐ ¼«úπΓ íδΓ∞ »α¿ßó«Ñ¡δ óѽ¿τ¿¡δ ß  »½á-
  44.          óáεΘÑ⌐ ºá»∩Γ«⌐.
  45.          
  46.                
  47.                4.4.2. Äí"∩ó½Ñ¡¿Ñ »ÑαÑτ¿ß½Ñ¡¿∩
  48.                 
  49.                æ¿¡Γá¬ß¿ß:
  50.                 
  51.            enum[<tag>]{<enum-list>}<identifier>[,<identifier>...];
  52.                 
  53.            enum<tag><identifier>[,<identifier>...];
  54.                 
  55.                Äí"∩ó½Ñ¡¿Ñ  »ÑαÑτ¿ß½Ñ¡¿∩ ºáñáÑΓ ¿¼∩ »ÑαѼѡ¡«⌐ »ÑαÑτ¿ß½Ñ¡¿∩
  56.          ¿ «»αÑñѽ∩ÑΓ ß»¿ß«¬ ¿¼Ñ¡«óá¡¡δ󠬫¡ßΓá¡Γ, ¡áºδóáѼδ⌐ ß»¿ß¬«¼  »Ñ-
  57.          αÑτ¿ß½Ñ¡¿∩.  ç¡áτÑ¡¿Ñ¼ ¬áªñ«ú« ¿¼Ñ¡¿ ß»¿ß¬á ∩ó½∩ÑΓß∩ µÑ½«Ñ τ¿ß½«.
  58.          ÅÑαѼѡ¡á∩ »ÑαÑτ¿ß½Ñ¡¿∩ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ «ñ¡«⌐  ¿º  ¿¼Ñ¡«óá¡¡δσ
  59.          ¬«¡ßΓá¡Γ  ß»¿ß¬á. ê¼Ñ¡«óá¡¡δÑ ¬«¡ßΓá¡Γδ ß»¿ß¬á ¿¼ÑεΓ Γ¿» int. Æá-
  60.  
  61.                                       - 41 -
  62.          
  63.          
  64.          ¬¿¼ «íαẫ¼, »á¼∩Γ∞ ß««ΓóÑΓßΓóπεΘá∩ »ÑαѼѡ¡«⌐ »ÑαÑτ¿ß½Ñ¡¿∩-  φΓ«
  65.          »á¼∩Γ∞, ¡Ñ«íσ«ñ¿¼á∩ ñ½∩ αẼÑΘÑ¡¿∩ «Γñѽ∞¡«⌐ µÑ½«⌐ óѽ¿τ¿¡δ.
  66.                Äí"∩ó½Ñ¡¿Ñ »ÑαÑτ¿ß½Ñ¡¿∩ ¡áτ¿¡áÑΓß∩ ß ¬½ετÑó«ú« ß½«óá enum ¿
  67.          ¿¼ÑÑΓ ñóÑ Σ«α¼δ »αÑñßΓáó½Ñ¡¿∩. é »Ñαó«⌐ Σ«α¼Ñ »αÑñßΓáó½Ñ¡¿∩ ¿¼Ñ¡á
  68.          »ÑαÑτ¿ß½Ñ¡¿∩ ºáñáεΓß∩ ó ß»¿ß¬Ñ »ÑαÑτ¿ß½Ñ¡¿∩ <enum-list>.
  69.                Ä»µ¿∩  <tag>-  φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ Γ¿» »ÑαÑ-
  70.          τ¿ß½Ñ¡¿∩, «»αÑñѽѡ¡«ú« ó <enum-list>.
  71.                ÅÑαѼѡ¡πε »ÑαÑτ¿ß½Ñ¡¿∩ ¿¼Ñ¡πÑΓ <identifier>. é  «í"∩ó½Ñ¡¿¿
  72.          ¼«ªÑΓ íδΓ∞ «»¿ßá¡á í«½ÑÑ τѼ «ñ¡á »ÑαѼѡ¡á∩ »ÑαÑτ¿ß½Ñ¡¿∩.
  73.                é« óΓ«α«⌐ Σ«α¼Ñ ¿ß»«½∞ºπÑΓß∩ ΓÑú »ÑαÑτ¿ß½Ñ¡¿∩, ¬«Γ«αδ⌐ ßßδ-
  74.          ½áÑΓß∩  ¡á Γ¿» »ÑαÑτ¿ß½Ñ¡¿∩. é φΓ«⌐ Σ«α¼Ñ «í"∩ó½Ñ¡¿∩ ß»¿ß«¬ »ÑαÑ-
  75.          τ¿ß½Ñ¡¿∩ ¡Ñ »αÑñßΓáó½Ñ¡, »«ß¬«½∞¬π Γ¿» »ÑαÑτ¿ß½Ñ¡¿∩  «»αÑñѽѡ  ó
  76.          ñαπú«¼  ¼ÑßΓÑ. àß½¿ ºáñáóáѼδ⌐ ΓÑú ¡Ñ ßßδ½áÑΓß∩ ¡á πªÑ «»αÑñѽѡ-
  77.          ¡δ⌐ Γ¿» »ÑαÑτ¿ß½Ñ¡¿∩, ¿½¿ Ñß½¿ ¿¼Ñ¡πѼδ⌐ ΓÑú«¼ Γ¿» ¡áσ«ñ¿Γß∩  ó¡Ñ
  78.          ΓѬπΘÑ⌐ ó¿ñ¿¼«ßΓ¿, Γ« óδñáÑΓß∩ «Φ¿í¬á.
  79.                 
  80.                <enum-list> ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  81.                 
  82.                <identifier>[=<constant-expression>][,<identifier>
  83.                                        [=<constant-expression]]...
  84.                .
  85.                .
  86.                .
  87.  
  88.                èáªñδ⌐  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  ¿¼Ñ¡πÑΓ  φ½Ñ¼Ñ¡Γδ  »ÑαÑτ¿ß½Ñ¡¿∩.  Å«
  89.          π¼«½τá¡¿ε »Ñαó«¼π ¿ñÑ¡Γ¿Σ¿¬áΓ«απ ß««ΓóÑΓßΓóπÑΓ º¡áτÑ¡¿Ñ 0, ß½Ññπ-
  90.          εΘ¿⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α áßß«µ¿¿απÑΓß∩ ß« º¡áτÑ¡¿Ñ¼ 1 ¿ Γ. ñ. ê¼∩ ¬«¡ß-
  91.          Γá¡Γδ »ÑαÑτ¿ß½Ñ¡¿∩ φ¬ó¿óá½Ñ¡Γ¡« ÑÑ º¡áτÑ¡¿ε.
  92.                çỿß∞ =<constant-expression> »ÑαÑ«»αÑñѽ∩ÑΓ »«ß½Ññ«óáΓѽ∞-
  93.          ¡«ßΓ∞ º¡áτÑ¡¿⌐, ºáñá¡¡δσ »« π¼«½τá¡¿ε.  êñÑ¡Γ¿Σ¿¬áΓ«α,  ß½ÑñπεΘ¿⌐
  94.          »ÑαÑñ ºá»¿ß∞ε =<constant-expression> »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ, ºáñáóáÑ-
  95.          ¼«Ñ  φΓ¿¼ ¬«¡ßΓá¡Γ¡δ¼ óδαáªÑ¡¿Ñ¼. è«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ ¿¼ÑÑΓ Γ¿»
  96.          int ¿ ¼«ªÑΓ íδΓ∞ «Γα¿µáΓѽ∞¡δ¼. æ½ÑñπεΘ¿⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ó  ß»¿ß¬Ñ
  97.          áßß«µ¿¿απÑΓß∩  ß  óѽ¿τ¿¡«⌐, αáó¡«⌐ <constant-expression>+1, Ñß½¿
  98.          «¡ ∩ó¡« ¡Ñ ºáñáÑΓß∩ ñαπú«⌐ óѽ¿τ¿¡«⌐.
  99.                ÅÑαÑτ¿ß½Ñ¡¿Ñ ¼«ªÑΓ ß«ñÑαªáΓ∞ »«óΓ«α∩εΘ¿Ñß∩ º¡áτÑ¡¿∩ ¿ñÑ¡Γ¿-
  100.          Σ¿¬áΓ«α«ó, ¡« ¬áªñδ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ñ«½ªÑ¡ íδΓ∞ π¡¿¬á½∞¡δ¼.  èα«¼Ñ
  101.          Γ«ú«,  «¡ ñ«½ªÑ¡ íδΓ∞ «Γ½¿τ¡δ¼ «Γ óßÑσ ñαπú¿σ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó »Ñ-
  102.          αÑτ¿ß½Ñ¡¿⌐ ß Γ«⌐ ªÑ ó¿ñ¿¼«ßΓ∞ε. ìá»α¿¼Ñα, ñóπ¼ αẽ¿τ¡δ¼  ¿ñÑ¡Γ¿-
  103.          Σ¿¬áΓ«αá¼  null ¿ zero ¼«ªÑΓ íδΓ∞ ºáñá¡« º¡áτÑ¡¿Ñ 0 ó «ñ¡«¼ ¿ Γ«¼
  104.          ªÑ »ÑαÑτ¿ß½Ñ¡¿¿. êñÑ¡Γ¿Σ¿¬áΓ«αδ ñ«½ª¡δ  íδΓ∞  «Γ½¿τ¡δ  «Γ  ñαπú¿σ
  105.          ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó  ß Γ«⌐ ªÑ ßἫ⌐ ó¿ñ¿¼«ßΓ∞ε, ó¬½ετá∩ ¿¼Ñ¡á «íδτ¡δσ
  106.          »ÑαѼѡ¡δσ ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ñαπú¿σ »ÑαÑτ¿ß½Ñ¡¿⌐. ÆÑú¿  »ÑαÑτ¿ß½Ñ-
  107.          ¡¿⌐  ñ«½ª¡δ  íδΓ∞ «Γ½¿τ¡δ «Γ ΓÑú«ó »ÑαÑτ¿ß½Ñ¡¿⌐, ΓÑú«ó ßΓαπ¬Γπα ¿
  108.          ß«ó¼ÑΘÑ¡¿⌐ ß Γ«⌐ ªÑ ßἫ⌐ ó¿ñ¿¼«ßΓ∞ε.
  109.                
  110.                 
  111.                Åα¿¼Ñαδ:
  112.                 
  113.                /**************** Example 1 ***************/
  114.                 
  115.                enum day {
  116.                         saturday,
  117.                         sunday = 0,
  118.                         monday,
  119.  
  120.                                       - 42 -
  121.          
  122.          
  123.                         tuesday,
  124.                         wednesday,
  125.                         thursday,
  126.                         friday
  127.                         } workday;
  128.                 
  129.                 /***************** Example 2 ***************/
  130.                 
  131.                 enum day today = wednesday;
  132.                 
  133.                é »Ñαó«¼ »α¿¼ÑαÑ «»αÑñѽ∩ÑΓß∩ Γ¿» »ÑαÑτ¿ß½Ñ¡¿∩, »«¿¼Ñ¡«óá¡-
  134.          ¡δ⌐ day ¿ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩ workday φΓ«ú« Γ¿»á »ÑαÑτ¿ß½Ñ¡¿∩.
  135.          æ saturday »« π¼«½τá¡¿ε áßß«µ¿¿απÑΓß∩ º¡áτÑ¡¿Ñ  0.  êñÑ¡Γ¿Σ¿¬áΓ«α
  136.          sunday  ∩ó¡«  πßΓá¡áó½¿óáÑΓß∩  ó  0. ÄßΓáóΦ¿Ñß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »«
  137.          π¼«½τá¡¿ε »α¿¡¿¼áεΓ º¡áτÑ¡¿Ñ «Γ 1 ñ« 5.
  138.                é« óΓ«α«¼ »α¿¼ÑαÑ »ÑαѼѡ¡«⌐ today Γ¿»á enum day »α¿ßóá¿óá-
  139.          ÑΓß∩ º¡áτÑ¡¿Ñ ¿º »ÑαÑτ¿ß½Ñ¡¿∩. çá¼ÑΓ¿¼, τΓ« ñ½∩ »α¿ßóá¿óá¡¿∩  ¿ß-
  140.          »«½∞ºπÑΓß∩  ¿¼∩ ¬«¡ßΓá¡Γδ ¿º »ÑαÑτ¿ß½Ñ¡¿∩. Æá¬ ¬á¬ Γ¿» »ÑαÑτ¿ß½Ñ-
  141.          ¡¿∩ day íδ½  »αÑñóáα¿Γѽ∞¡«  «í"∩ó½Ñ¡,  Γ«  ñ«ßΓáΓ«τ¡«  ß«ß½áΓ∞ß∩
  142.          Γ«½∞¬« ¡á ΓÑú »ÑαÑτ¿ß½Ñ¡¿∩.
  143.          
  144.                
  145.                4.4.3. Äí"∩ó½Ñ¡¿∩ ßΓαπ¬Γπα
  146.                 
  147.                æ¿¡Γá¬ß¿ß:
  148.                 
  149.      struct[<tag>]{<member-declaration-list>}<declarator>[,<declarator>...];
  150.  
  151.      struct<tag><declarator>[,<declarator>...];
  152.                 
  153.                Äí"∩ó½Ñ¡¿Ñ ßΓαπ¬Γπαδ ºáñáÑΓ ¿¼∩ Γ¿»á ßΓαπ¬Γπαδ ¿ ß»Ñµ¿Σ¿µ¿-
  154.          απÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »ÑαѼѡ¡δσ óѽ¿τ¿¡, ¡áºδóáѼδσ φ½Ñ¼Ñ¡ΓἿ
  155.          ßΓαπ¬Γπαδ, ¬«Γ«αδÑ ¼«úπΓ ¿¼ÑΓ∞ αẽ¿τ¡δÑ Γ¿»δ.
  156.                Äí"∩ó½Ñ¡¿Ñ  ßΓαπ¬Γπαδ ¡áτ¿¡áÑΓß∩ ß ¬½ετÑó«ú« ß½«óá struct ¿
  157.          ¿¼ÑÑΓ ñóÑ Σ«α¼δ »αÑñßΓáó½Ñ¡¿∩, ¬á¬ »«¬áºá¡« óδΦÑ. é »Ñαó«⌐  Σ«α¼Ñ
  158.          »αÑñßΓáó½Ñ¡¿∩  Γ¿»δ ¿ ¿¼Ñ¡á φ½Ñ¼Ñ¡Γ«ó ßΓαπ¬Γπαδ ß»Ñµ¿Σ¿µ¿απεΓß∩ ó
  159.          ß»¿ß¬Ñ «í"∩ó½Ñ¡¿⌐ φ½Ñ¼Ñ¡Γ«ó <member-declaration-list>. <tag>- φΓ«
  160.          ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐  ¿¼Ñ¡πÑΓ  Γ¿»  ßΓαπ¬Γπαδ,  «»αÑñѽѡ¡δ⌐  ó
  161.          ß»¿ß¬Ñ «í"∩ó½Ñ¡¿⌐ φ½Ñ¼Ñ¡Γ«ó.
  162.                èáªñδ⌐  <declarator>  ºáñáÑΓ ¿¼∩ »ÑαѼѡ¡«⌐ Γ¿»á ßΓαπ¬Γπαδ.
  163.          Æ¿» »ÑαѼѡ¡«⌐ ó ñѬ½áαáΓ«αÑ ¼«ªÑΓ íδΓ∞ ¼«ñ¿Σ¿µ¿α«óá¡  ¡á  π¬áºá-
  164.          Γѽ∞ ¬ ßΓαπ¬ΓπαÑ, ¡á ¼áßß¿ó ßΓαπ¬Γπα ¿½¿ ¡á Σπ¡¬µ¿ε, ó«ºóαáΘáεΘπε
  165.          ßΓαπ¬Γπαπ.
  166.                éΓ«αá∩ ß¿¡Γá¬ß¿τÑ߬á∩ Σ«α¼á ¿ß»«½∞ºπÑΓ ΓÑú- <tag> ßΓαπ¬Γπαδ
  167.          ñ½∩  ßß佬¿ ¡á Γ¿» ßΓαπ¬Γπαδ. é φΓ«⌐ Σ«α¼Ñ «í"∩ó½Ñ¡¿∩ «ΓßπΓßΓóπÑΓ
  168.          ß»¿ß«¬ «í"∩ó½Ñ¡¿⌐ φ½Ñ¼Ñ¡Γ«ó, »«ß¬«½∞¬π Γ¿» ßΓαπ¬Γπαδ «»αÑñѽѡ  ó
  169.          ñαπú«¼  ¼ÑßΓÑ. Ä»αÑñѽѡ¿Ñ Γ¿»á ßΓαπ¬Γπαδ ñ«½ª¡« íδΓ∞ ó¿ñ¿¼δ¼ ñ½∩
  170.          ΓÑúá, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩  ó  «í"∩ó½Ñ¡¿¿  ¿  «»αÑñѽѡ¿Ñ  ñ«½ª¡«
  171.          »αÑñΦÑßΓó«óáΓ∞ «í"∩ó½Ñ¡¿ε τÑαѺ ΓÑú, Ñß½¿ ΓÑú ¡Ñ ¿ß»«½∞ºπÑΓß∩ ñ½∩
  172.          «í"∩ó½Ñ¡¿∩  π¬áºáΓѽ∩  ¿½¿ ßΓαπ¬Γπα¡«ú« Γ¿»á typedef. é »«ß½Ññ¡¿σ
  173.          ß½πτá∩σ «í"∩ó½Ñ¡¿∩ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ ΓÑú ßΓαπ¬Γπαδ íѺ »αÑñóáα¿-
  174.          Γѽ∞¡«ú« «»αÑñѽѡ¿∩ Γ¿»á ßΓαπ¬Γπαδ, ¡« óßÑ ªÑ «»αÑñѽѡ¿Ñ ñ«½ª¡«
  175.          ¡áσ«ñ¿Γ∞ß∩ ó »αÑñѽáσ ó¿ñ¿¼«ßΓ¿ «í"∩ó½Ñ¡¿∩.
  176.                æ»¿ß«¬ «í"∩ó½Ñ¡¿⌐ φ½Ñ¼Ñ¡Γ«ó <member-declaration-list>-  φΓ«
  177.          «ñ¡«  ¿½¿  í«½ÑÑ  «í"∩ó½Ñ¡¿⌐ »ÑαѼѡ¡δσ ¿½¿ í¿Γ«óδσ »«½Ñ⌐. èáªñá∩
  178.  
  179.                                       - 43 -
  180.          
  181.          
  182.          »ÑαѼѡ¡á∩,  «í"∩ó½Ñ¡¡á∩  ó  φΓ«¼  ß»¿ß¬Ñ,  ¡áºδóáÑΓß∩  φ½Ñ¼Ñ¡Γ«¼
  183.          ßΓαπ¬Γπα¡«ú«  Γ¿»á. Äí"∩ó½Ñ¡¿∩ »ÑαѼѡ¡δσ ß»¿ß¬á ¿¼ÑεàëàªÑ ßá-
  184.          ¼δ⌐ ß¿¡Γá¬ß¿ß, τΓ« ¿ «í"∩ó½Ñ¡¿∩  »ÑαѼѡ¡δσ  «íßπªñáѼδσ  ó  φΓ«⌐
  185.          ú½áóÑ,  ºá  ¿ß¬½ετÑ¡¿Ñ¼  Γ«ú«,  τΓ« «í"∩ó½Ñ¡¿∩ ¡Ñ ¼«úπΓ ß«ñÑαªáΓ∞
  186.          ß»Ñµ¿Σ¿¬áΓ«α«ó ¬½áßßá »á¼∩Γ¿ ¿½¿ ¿¡¿µ¿á½¿ºáΓ«α«ó. ¥½Ñ¼Ñ¡Γδ ßΓαπ¬-
  187.          Γπαδ ¼«úπΓ íδΓ∞ ½εí«ú«  Γ¿»á:  «ß¡«ó¡«ú«,  ¼áßß¿ó«¼,  π¬áºáΓѽѼ,
  188.          ß«ó¼ÑΘÑ¡¿Ñ¼ ¿½¿ ßΓαπ¬Γπα«⌐.
  189.                ¥½Ñ¼Ñ¡Γ  ¡Ñ ¼«ªÑΓ ¿¼ÑΓ∞ Γ¿» ßΓαπ¬Γπαδ, ó ¬«Γ«α«⌐ «¡ »«∩ó½∩-
  190.          ÑΓß∩. Äñ¡á¬«, φ½Ñ¼Ñ¡Γ ¼«ªÑΓ íδΓ∞ «í"∩ó½Ñ¡, ¬á¬ π¬áºáΓѽ∞  ¡á  Γ¿»
  191.          ßΓαπ¬Γπαδ,  ó  ¬«Γ«απε  «¡  óσ«ñ¿Γ,  »«ºó«½∩∩ ß«ºñáóáΓ∞ ß»¿ß«τ¡δÑ
  192.          ßΓαπ¬Γπαδ.
  193.                 
  194.                ü¿Γ«óδÑ »«½∩
  195.                 
  196.                Äí"∩ó½Ñ¡¿∩ í¿Γ«óδσ »«½Ñ⌐ ¿¼ÑεΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  197.                 
  198.                 <type-specifier>[<identifier>]:<constant-expression>;
  199.                 
  200.                ü¿Γ«ó«Ñ  »«½Ñ ß«ßΓ«¿Γ ¿º ¡Ñ¬«Γ«α«ú« τ¿ß½á í¿Γ, ß»Ñµ¿Σ¿µ¿α«-
  201.          óá¡¡δ󠬫¡ßΓá¡Γ¡δ¼ óδαáªÑ¡¿Ñ¼- <constant- expression>. ä½∩  í¿Γ«-
  202.          ó«ú« »«½∩ ß»Ñµ¿Σ¿¬áΓ«α Γ¿»á <type- specifier> ñ«½ªÑ¡ ß»Ñµ¿Σ¿µ¿α«-
  203.          óáΓ∞  íѺº¡á¬«óδ⌐  µÑ½δ⌐ Γ¿», á ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ ñ«½ª¡« íδΓ∞
  204.          ¡Ñ«Γα¿µáΓѽ∞¡«⌐ µÑ½«⌐ óѽ¿τ¿¡«⌐. îáßß¿óδ í¿Γ«óδσ »«½Ñ⌐, π¬áºáΓѽ¿
  205.          ¡á í¿Γ«óδÑ »«½∩ ¿ Σπ¡¬µ¿¿, ó«ºóαáΘáεΘ¿Ñ í¿Γ«óδÑ »«½∩ ¡Ñ  ñ«»π߬á-
  206.          εΓß∩.  êñÑ¡Γ¿Σ¿¬áΓ«α- <identifier> ¿¼Ñ¡πÑΓ í¿Γ«ó«Ñ »«½Ñ. ìÑ¿¼Ñ¡«-
  207.          óá¡¡«Ñ í¿Γ«ó«Ñ »«½Ñ, τÑ⌐ αẼÑα ß»Ñµ¿Σ¿µ¿απÑΓß∩ ¬á¬ ¡π½Ñó«⌐, ¿¼Ñ-
  208.          ÑΓ ß»Ñµ¿á½∞¡«Ñ ¡áº¡áτÑ¡¿Ñ: «¡« úáαá¡Γ¿απÑΓ, τΓ« »á¼∩Γ∞ ñ½∩ ß½Ññπ-
  209.          εΘÑ⌐ »ÑαѼѡ¡«⌐ «í"∩ó½Ñ¡¿∩ íπñÑΓ ¡áτ¿¡áΓ∞ß∩ ¡á úαá¡¿µÑ int.
  210.                
  211.                êñÑ¡Γ¿Σ¿¬áΓ«αδ φ½Ñ¼Ñ¡Γ«ó ó¡πΓα¿ «í"∩ó½∩Ѽ«⌐ ßΓαπ¬Γπαδ ñ«½ª-
  212.          ¡δ  íδΓ∞  π¡¿¬á½∞¡δ¼¿.  êñÑ¡Γ¿Σ¿¬áΓ«αδ  φ½Ñ¼Ñ¡Γ«ó  ó¡πΓα¿  αạδσ
  213.          ßΓαπ¬Γπα  ¼«úπΓ ß«ó»áñáΓ∞. é »αÑñѽáσ Γ«⌐ ªÑ ßἫ⌐ ó¿ñ¿¼«ßΓ¿ ΓÑú¿
  214.          ßΓαπ¬Γπα ñ«½ª¡δ «Γ½¿τáΓ∞ß∩ «Γ ñαπú¿σ ΓÑú«ó (ΓÑú«ó  ñαπú¿σ  ßΓαπ¬-
  215.          Γπα, ß«ó¼ÑΘÑ¡¿⌐ ¿ »ÑαÑτ¿ß½Ñ¡¿⌐).
  216.                ÅÑαѼѡ¡δÑ (φ½Ñ¼Ñ¡Γδ) ßΓαπ¬Γπαδ ºá»«¼¿¡áεΓß∩ »«ß½Ññ«óáΓѽ∞-
  217.          ¡«  ó Γ«¼ ªÑ ßἫ¼ »«α∩ñ¬Ñ, ó ¬«Γ«α«¼ «¡¿ «í"∩ó½∩εΓß∩: »Ñαó«⌐ »Ñ-
  218.          αѼѡ¡«⌐ ß««ΓóÑΓßΓóπÑΓ ßá¼δ⌐ ¼½áñΦ¿⌐ áñαÑß »á¼∩Γ¿,  á  »«ß½Ññ¡Ñ⌐-
  219.          ßá¼δ⌐  ßΓáαΦ¿⌐.  Åá¼∩Γ∞  ¬áªñ«⌐  »ÑαѼѡ¡«⌐ ¡áτ¿¡áÑΓß∩ ¡á úαá¡¿µÑ
  220.          ßó«⌐ßΓóÑ¡¡«⌐ ÑÑ  Γ¿»π.  Å«φΓ«¼π  ¼«úπΓ  »«∩ó½∩Γ∞ß∩  ¡Ñ¿¼Ñ¡«óá¡¡δÑ
  221.          πτáßΓ¬¿ ¼Ñªñπ ß«ßÑñ¡¿¼¿ φ½Ñ¼Ñ¡ΓἿ.
  222.                ü¿Γ«óδÑ  »«½∩ ¡Ñ αáß»«½áúáεΓß∩ ¡á »ÑαÑßÑτÑ¡¿¿ úαá¡¿µ, «í∩ó-
  223.          ½Ñ¡¡δσ ñ½∩ ¡¿σ Γ¿»«ó. ìá»α¿¼Ñα, í¿Γ«ó«Ñ »«½Ñ, «í"∩ó½Ñ¡«Ñ ß  Γ¿»«¼
  224.          unsigned  int,  π»á¬«óδóáÑΓß∩  ¿½¿  ó »α«ßΓαá¡ßΓóÑ, «ßΓáóΦ¿¼ß∩ «Γ
  225.          »αÑñ¿ñπΘÑú« unsigned int ¿½¿ ¡áτ¿¡á∩ ß ¡«ó«ú« unsigned int.
  226.            
  227.                Åα¿¼Ñαδ
  228.                 
  229.                 /**************** Example 1 ****************/
  230.                 
  231.                 struct {
  232.                            float x,y;
  233.                     } complex;
  234.                 
  235.                 /**************** Example 2 *****************/
  236.                 
  237.  
  238.                                       - 44 -
  239.          
  240.          
  241.                 struct employee {
  242.                             char name[20];
  243.                             int id;
  244.                             long class;
  245.                     } temp;
  246.                 
  247.                 /**************** Example 3 ******************/
  248.                 
  249.                 struct employee student, faculty, staff;
  250.                 
  251.                 /**************** Example 4 ******************/
  252.                 
  253.                 struct sample {
  254.                             char c;
  255.                             float *pf;
  256.                             struct sample *next;
  257.                     } x;
  258.                 
  259.                 /***************** Example 5 ******************/
  260.                 
  261.                 struct {
  262.                             unsigned icon : 8;
  263.                             unsigned color : 4;
  264.                             unsigned underline : 1;
  265.                             unsigned blink : 1;
  266.                     } screen[25][80];
  267.                 
  268.                é »Ñαó«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩  ß  ¿¼Ñ¡Ñ¼  complex
  269.          Γ¿»á ßΓαπ¬Γπαá. ¥Γá ßΓαπ¬Γπαá ß«ßΓ«¿Γ ¿º ñóπσ φ½Ñ¼Ñ¡Γ«ó x ¿ y Γ¿-
  270.          »á float. Æ¿» ßΓαπ¬Γπαδ ¡Ñ »«¿¼Ñ¡«óá¡.
  271.                é« óΓ«α«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩ ß ¿¼Ñ¡Ñ¼ temp Γ¿»á
  272.          ßΓαπ¬Γπαá. æΓαπ¬Γπαá ß«ßΓ«¿Γ ¿º ΓαÑσ φ½Ñ¼Ñ¡Γ«ó ß ¿¼Ñ¡á¼¿ name, id
  273.          ¿  class.  ¥½Ñ¼Ñ¡Γ  ß ¿¼Ñ¡Ñ¼ name- φΓ« ¼áßß¿ó ¿φ 20- Γ¿ φ½Ñ¼Ñ¡Γ«ó
  274.          Γ¿»á char. φ½Ñ¼Ñ¡Γδ ß ¿¼Ñ¡á¼¿ id ¿ class- φΓ« »α«ßΓδÑ  »ÑαѼѡ¡δÑ
  275.          Γ¿»á  int  ¿ long ß««ΓóÑΓßΓóÑ¡¡«. êñÑ¡Γ¿Σ¿¬áΓ«α employee ∩ó½∩ÑΓß∩
  276.          ΓÑú«¼ ßΓαπ¬Γπαδ.
  277.                é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «í"∩ó½Ñ¡δ Γα¿ »ÑαѼѡ¡δσ Γ¿»á ßΓαπ¬Γπαá ß
  278.          ¿¼Ñ¡á¼¿: student, faculty ¿ staff. èáªñá∩ ¿º ßΓαπ¬Γπα ß«ßΓ«¿Γ  ¿º
  279.          ΓαÑσ  φ½Ñ¼Ñ¡Γ«ó  «ñ¡«⌐  ¿ Γ«⌐ ªÑ ¬«¡ßΓαπ¬µ¿¿. ¥½Ñ¼Ñ¡Γδ «»αÑñѽѡδ
  280.          »α¿ «í"∩ó½Ñ¡¿¿ Γ¿»á ßΓαπ¬Γπαδ ß ΓÑú«¼ employee ó »αÑñδñπΘѼ  »α¿-
  281.          ¼ÑαÑ.
  282.                é  τÑΓóÑαΓ«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩ ß ¿¼Ñ¡Ñ¼ x Γ¿»á
  283.          ßΓαπ¬Γπαá. ÅÑαóδÑ ñóá φ½Ñ¼Ñ¡Γá ßΓαπ¬Γπαδ »αÑñßΓáó½Ñ¡δ  »ÑαѼѡ¡«⌐
  284.          c  Γ¿»á  char ¿ π¬áºáΓѽѼ pf ¡á óѽ¿τ¿¡π Γ¿»á float. ÆαÑΓ¿⌐ φ½Ñ-
  285.          ¼Ñ¡Γ ß ¿¼Ñ¡Ñ¼  next  «í"∩ó½∩εΓß∩  ¬á¬  π¬áºáΓѽ∞  ¡á  «»¿ßδóáѼπε
  286.          ßΓαπ¬Γπαπ sample.
  287.                é  »∩Γ«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ ñóπ¼Ñα¡δ⌐ ¼áß߿󠻫¿¼Ñ¡«óá¡¡δ⌐
  288.          screen, φ½Ñ¼Ñ¡Γδ ¬«Γ«α«ú« ¿¼ÑεΓ ßΓαπ¬Γπα¡δ⌐ Γ¿».  îáßß¿ó  ß«ßΓ«¿Γ
  289.          ¿º 2000 φ½Ñ¼Ñ¡Γ«ó ¿ ¬áªñδ⌐ φ½Ñ¼Ñ¡ΓφΓ« «Γñѽ∞¡á∩ ßΓαπ¬Γπαá, ß«ßΓ«-
  290.          ∩Θá∩  ¿º  τÑΓδαÑσ  φ½Ñ¼Ñ¡Γ«ó Γ¿»á bit-fild ß ¿¼Ñ¡á¼¿ icon, color,
  291.          underline ¿ blink.
  292.          
  293.                
  294.                 
  295.  
  296.                                       - 45 -
  297.          
  298.                4.4.4. Äí"∩ó½Ñ¡¿Ñ ß«ó¼ÑΘÑ¡¿⌐
  299.          
  300.                æ¿¡Γá¬ß¿ß:
  301.                 
  302.      union[<tag>]{<member-declaration-list>}<declarator>[,<declarator>...];
  303.                  
  304.      union<tag><declarator>[,<declarator>...];
  305.      
  306.                Äí"∩ó½Ñ¡¿Ñ ß«ó¼ÑΘÑ¡¿∩ «»αÑñѽ∩ÑΓ ¿¼∩ »ÑαѼѡ¡«⌐  ß«ó¼ÑΘÑ¡¿∩
  307.          ¿  ß»Ñµ¿Σ¿µ¿απÑΓ ¼¡«ªÑßΓó« »ÑαѼѡ¡δσ, ¡áºδóáѼδσ φ½Ñ¼Ñ¡ΓἿ ß«ó-
  308.          ¼ÑΘÑ¡¿∩, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ αẽ¿τ¡δσ Γ¿»«ó. ÅÑαѼѡ¡á∩  ß  Γ¿»«¼
  309.          ß«ó¼ÑΘÑ¡¿∩  ºá»«¼¿¡áÑΓ ½εíπε «Γñѽ∞¡πε óѽ¿τ¿¡π, «»αÑñѽ∩Ѽπε ¡á-
  310.          í«α«¼ φ½Ñ¼Ñ¡Γ«ó ß«ó¼ÑΘÑ¡¿∩.
  311.                Äí"∩ó½Ñ¡¿Ñ ß«ó¼ÑΘÑ¡¿∩ ¿¼ÑÑàëàªÑ ßá¼δ⌐ ß¿¡Γá¬ß¿ß,  ¬á¬  ¿
  312.          «í"∩ó½Ñ¡¿Ñ  ßΓαπ¬Γπαδ,  ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« «¡á ¡áτ¿¡áÑΓß∩ ß
  313.          ¬½ετÑó«ú« ß½«óá union ó¼ÑßΓ« ¬½ετÑó«ú« ß½«óá struct. ä½∩ «í"∩ó½Ñ-
  314.          ¡¿∩ ß«ó¼ÑΘÑ¡¿∩ ¿ ßΓαπ¬Γπαδ ñÑ⌐ßΓóπεΓ «ñ¡¿ ¿ ΓÑ ªÑ »αáó¿½á, ºá ¿ß-
  315.          ¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ó ß«ó¼ÑΘÑ¡¿¿ ¡Ñ ñ«»π߬áεΓß∩ φ½Ñ¼Ñ¡Γδ Γ¿»á í¿-
  316.          Γ«óδσ »«½Ñ⌐.
  317.                
  318.                Åá¼∩Γ∞, ¬«Γ«αá∩ ß««ΓóÑΓßΓóπÑΓ »ÑαѼѡ¡«⌐  Γ¿»á  ß«ó¼ÑΘÑ¡¿Ñ,
  319.          «»αÑñѽ∩ÑΓß∩  óѽ¿τ¿¡«⌐ ñ½∩ αẼÑΘÑ¡¿∩ ½εí«ú« «Γñѽ∞¡«ú« φ½Ñ¼Ñ¡Γá
  320.          ß«ó¼ÑΘÑ¡¿∩.
  321.                è«úñá ¿ß»«½∞ºπÑΓß∩ ¡á¿¼Ñ¡∞Φ¿⌐ φ½Ñ¼Ñ¡Γ ß«ó¼ÑΘÑ¡¿∩, Γ«  »ÑαÑ-
  322.          ¼Ñ¡¡á∩ Γ¿»á ß«ó¼ÑΘÑ¡¿∩ ¼«ªÑΓ ß«ñÑαªáΓ∞ ¡Ñ¿ß»«½∞º«óá¡¡«Ñ »α«ßΓαá¡-
  323.          ßΓó«. éßÑ φ½Ñ¼Ñ¡Γδ ß«ó¼ÑΘÑ¡¿∩ ºá»«¼¿¡áεΓß∩ ó «ñ¡«¼ ¿ Γ«¼ ªÑ »α«ß-
  324.          Γαá¡ßΓóÑ  »á¼∩Γ¿  »ÑαѼѡ¡«⌐,  ¡áτ¿¡á∩ ß «ñ¡«ú« ¿ Γ«ú« ªÑ áñαÑßá.
  325.          çừ¼¡Ñ¡¡δÑ º¡áτÑ¡¿∩ ºáΓ¿αáεΓß∩ ¬áªñδ⌐ αáº,  ¬«úñá  »α¿ßóá¿óáÑΓß∩
  326.          º¡áτÑ¡¿Ñ «τÑαÑñ¡«ú« φ½Ñ¼Ñ¡Γá ß«ó¼ÑΘÑ¡¿∩.
  327.                 
  328.                Åα¿¼Ñαδ:
  329.      
  330.                 /************** Example 1 ********************/
  331.                 
  332.                 union sign {
  333.                         int svar;
  334.                         unsigned uvar;
  335.                    } number;
  336.                 
  337.                 /************** Example 2 ********************/
  338.                 
  339.                 union {
  340.                         char *a, b;
  341.                         float f[20];
  342.                     } jack;
  343.                 
  344.                 /*************** Example 2 *******************/
  345.                 
  346.                 union {
  347.                         struct {
  348.                                  char icon;
  349.                                  unsigned color : 4;
  350.                         } window1, window2, window3, window4;
  351.                    } screen[25][80];
  352.                 
  353.                é  »Ñαó«¼  »α¿¼ÑαÑ  «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩ Γ¿»á ß«ó¼ÑΘÑ¡¿∩,
  354.          »«¿¼Ñ¡«óá¡¡á∩ number. æ»¿ß«¬ φ½Ñ¼Ñ¡Γ«ó ß«ó¼ÑΘÑ¡¿∩ ß«ßΓ«¿Γ ¿º ñóπσ
  355.  
  356.                                       - 46 -
  357.          
  358.          
  359.          «í"∩ó½Ñ¡¿⌐ »ÑαѼѡ¡δσ: svar Γ¿»á int ¿ uvar  Γ¿»á  unsigned.  ¥Γ«
  360.          «í"∩ó½Ñ¡¿Ñ  »«ºó«½∩ÑΓ ºá»«¼¿¡áΓ∞ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ number ó º¡á¬«-
  361.          ó«¼ ¿½¿ íѺº¡á¬«ó«¼ ó¿ñÑ. Æ¿» ß«ó¼ÑΘÑ¡¿∩ »«¿¼Ñ¡«óá¡ ¿ñÑ¡Γ¿Σ¿¬áΓ«-
  362.          α«¼ sign.
  363.                é« óΓ«α«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩ Γ¿»á ß«ó¼ÑΘÑ¡¿∩  ß
  364.          ¿¼Ñ¡Ñ¼ jack. æ»¿ß«¬ φ½Ñ¼Ñ¡Γ«ó «í"∩ó½Ñ¡¿∩ ß«ßΓ«¿Γ ¿º ΓαÑσ «í"∩ó½Ñ-
  365.          ¡¿⌐:  π¬áºáΓѽ∩ a ¡á óѽ¿τ¿¡π Γ¿»á char, »ÑαѼѡ¡«⌐ b Γ¿»á char ¿
  366.          ¼áßß¿óá f ¿º 20 φ½Ñ¼Ñ¡Γ«ó Γ¿»á float. Æ¿» ß«ó¼ÑΘÑ¡¿∩ ¡Ñ  »«¿¼Ñ¡«-
  367.          óá¡.
  368.                Åá¼∩Γ∞,  αáß»αÑñѽѡ¡á∩  ñ½∩ »ÑαѼѡ¡«⌐ jack, αáó¡á »á¼∩Γ¿,
  369.          αáß»αÑñѽѡ¡«⌐ »«ñ ¼áßß¿ó f, »«ß¬«½∞¬π f  ßá¼δ⌐  í«½∞Φ«⌐  φ½Ñ¼Ñ¡Γ
  370.          ß«ó¼ÑΘÑ¡¿∩.
  371.                é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ ñóπ¼Ñα¡δ⌐ ¼áßß¿ó ß«ó¼ÑΘÑ¡¿⌐ ß
  372.          ¿¼Ñ¡Ñ¼  screen.  îáßß¿ó  ß«ßΓ«¿Γ ¿º 2000 «í"Ñ¬Γ«ó. èáªñδ⌐ «í"ѬΓ-
  373.          φΓ« «Γñѽ∞¡«Ñ ß«ó¼ÑΘÑ¡¿Ñ ¿º τÑΓδαÑσ φ½Ñ¼Ñ¡Γ«ó: window1,  window2,
  374.          window3,  window4, úñÑ ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ- φΓ« ßΓαπ¬Γπαá. é ½εí«Ñ ºá-
  375.          ñá¡¡«Ñ óαѼ∩ ¬áªñδ⌐ «í"Ñ¬Γ ß«ó¼ÑΘÑ¡¿∩ »«ññÑনóáÑΓß∩ «ñ¡¿¼ ¿º τÑ-
  376.          ΓδαÑσ ó«º¼«ª¡δσ φ½Ñ¼Ñ¡Γ«ó Γ¿»á ßΓαπ¬Γπαá. Æá¬¿¼ «íαẫ¼, »ÑαѼѡ-
  377.          ¡á∩ screen- φΓ« ¬«¼»«º¿µ¿∩ τÑΓδαÑσ ó«º¼«ª¡δσ "windows".
  378.          
  379.                
  380.                4.4.5. Äí"∩ó½Ñ¡¿Ñ ¼áßß¿óá
  381.                 
  382.                æ¿¡Γá¬ß¿ß:
  383.                 
  384.                 <type-specifier><declarator>[<constant-expression>];
  385.                 
  386.                 <type-specifier><declarator>[];
  387.                 
  388.                çñÑß∞ ¬óáñαáΓ¡δѠ߬«í¬¿- φΓ« ΓÑନ¡á½∞¡δÑ ß¿¼ó«½δ. Äí"∩ó½Ñ-
  389.          ¡¿Ñ ¼áßß¿óá «»αÑñѽ∩ÑΓ Γ¿» ¼áßß¿óá ¿ Γ¿»  ¬áªñ«ú«  φ½Ñ¼Ñ¡Γá.  Ä¡«
  390.          ¼«ªÑΓ «»αÑñѽ∩Γ∞ ΓᬪѠτ¿ß½« φ½Ñ¼Ñ¡Γ«ó ó ¼áßß¿óÑ. ÅÑαѼѡ¡á∩ Γ¿»á
  391.          ¼áßß¿ó  αáßß¼áΓα¿óáÑΓß∩ ¬á¬ π¬áºáΓѽ∞ ¡á φ½Ñ¼Ñ¡Γδ ¼áßß¿óá. Äí"∩ó-
  392.          ½Ñ¡¿Ñ ¼áßß¿óá ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ß∩ ó ñóπσ ß¿¡Γá¬ß¿τÑ߬¿σ  Σ«α¼áσ,
  393.          π¬áºá¡¡δσ  óδΦÑ.  äѬ½áαáΓ«α<declarator>  ºáñáÑΓ  ¿¼∩ »ÑαѼѡ¡«⌐.
  394.          èóáñαáΓ¡δѠ߬«í¬¿, ß½ÑñπεΘ¿Ñ ºá ñѬ½áαáΓ«α«¼, ¼«ñ¿Σ¿µ¿απεΓ ñѬ½á-
  395.          αáΓ«α     ¡á     Γ¿»     ¼áßß¿óá.      è«¡ßΓá¡Γ¡«Ñ      óδαáªÑ¡¿Ñ
  396.          <constant-expression>, ºá¬½ετÑ¡¡«Ñ ó ¬óáñαáΓ¡δѠ߬«í¬¿, «»αÑñѽ∩-
  397.          ÑΓ  τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ó ¼áßß¿óÑ. èáªñδ⌐ φ½Ñ¼Ñ¡Γ ¿¼ÑÑΓ Γ¿», ºáñáóáÑ-
  398.          ¼δ⌐ ß»Ñµ¿Σ¿¬áΓ«α«¼ Γ¿»á <type-specifier>, ¬«Γ«αδ⌐ ¼«ªÑΓ  ß»Ñµ¿Σ¿-
  399.          µ¿α«óáΓ∞ ½εí«⌐ Γ¿», ¿ß¬½ετá∩ void ¿ Γ¿» Σπ¡¬µ¿¿.
  400.                é«  óΓ«α«⌐ ß¿¡Γá¬ß¿τÑ߬«⌐ Σ«α¼Ñ «»πΘÑ¡« ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ-
  401.          ¡¿Ñ ó ¬óáñαáΓ¡δσ ß¬«í¬áσ. ¥Γá Σ«α¼á ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á Γ«½∞-
  402.          ¬« Γ«úñá, ¬«úñá ¼áß߿󠿡¿µ¿á½¿º¿απÑΓß∩ ¿½¿ «í"∩ó½Ñ¡ ¬á¬ Σ«α¼á½∞-
  403.          ¡δ⌐ »áαá¼ÑΓα ¿½¿ «í"∩ó½Ñ¡ ¬á¬ ßßδ½¬á ¡á ¼áßß¿ó, ∩ó¡« «»αÑñѽѡ¡δ⌐
  404.          úñÑ-Γ« ó »α«úαá¼¼Ñ.
  405.                îáßß¿ó ¼áßß¿ó«ó ¿½¿ ¼¡«ú«¼Ñα¡δ⌐ ¼áß߿󠠫»αÑñѽ∩ÑΓß∩  »πΓѼ
  406.          ºáñá¡¿∩ ß»¿ß¬á ¬«¡ßΓá¡Γ¡δσ óδαáªÑ¡¿⌐ ó ¬óáñαáΓ¡δσ ß¬«í¬áσ, ß½Ññπ-
  407.          ΘÑú« ºá ñѬ½áαáΓ«α«¼:
  408.                 
  409.                <type-specifier><declarator>[<constant-expression>]
  410.                                            [<constant-expression>]...
  411.                 
  412.                èáªñ«Ñ ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ- <constant-expression> ó ¬óáñ-
  413.          αáΓ¡δσ ß¬«í¬áσ «»αÑñѽ∩ÑΓ τ¿ß½«  φ½Ñ¼Ñ¡Γ«ó  ó  ñá¡¡¡«¼  ¿φ¼ÑαÑ¡¿¿
  414.  
  415.                                       - 47 -
  416.          
  417.          
  418.          ¼áßß¿óá, ΓᬠτΓ« «í"∩ó½Ñ¡¿Ñ ñóπ¼Ñα¡«ú« ¼áßß¿óá ß«ñÑαª¿Γ ñóá ¬«¡ß-
  419.          Γá¡Γ¡δσ  óδαáªÑ¡¿∩, ΓαÑσ¼Ñα¡«ú«- Γα¿ ¿ Γ.ñ. àß½¿ ¼¡«ú«¼Ñα¡δ⌐ ¼áß-
  420.          ß¿ó «í"∩ó½∩ÑΓß∩ ó¡πΓα¿ Σπ¡¬µ¿¿ ¿½¿ Ñß½¿ «¡ ¿¡¿µ¿á½¿º¿απÑΓß∩  ½¿í«
  421.          «í"∩ó½∩ÑΓß∩ ¬á¬ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα ¿½¿ «í"∩ó½∩ÑΓß∩ ¬á¬ ßßδ½¬á ¡á
  422.          ¼áßß¿ó, ∩ó¡« «»αÑñѽѡ¡δ⌐ úñÑ- Γ« ó »α«úαá¼¼Ñ, Γ« »Ñαó«Ñ ¬«¡ßΓá¡-
  423.          Γ¡«Ñ óδαáªÑ¡¿Ñ ¼«ªÑΓ íδΓ∞ «»πΘÑ¡«.
  424.                îáßß¿ó  π¬áºáΓѽÑ⌐  ¡á  óѽ¿τ¿¡δ,ºáñá¡¡«ú« Γ¿»á, ¼«ªÑΓ íδΓ∞
  425.          «»αÑñѽѡ »«ßαÑñßΓó«¼ ß«ßΓáó¡«ú« ñѬ½áαáΓ«αá, ¬á¬ í佫 «»¿ßá¡«  ó
  426.          αáºñѽѠ4.3.2.
  427.                Æ¿»π  ¼áßß¿ó  ß««ΓóÑΓßΓóπÑΓ  »á¼∩Γ∞,  ¬«Γ«αá∩ ΓαÑíπÑΓß∩ ñ½∩
  428.          αẼÑΘÑ¡¿∩ óßÑσ Ñú« φ½Ñ¼Ñ¡Γ«ó. ¥½Ñ¼Ñ¡Γδ ¼áßß¿óá ß »Ñαó«ú« ñ« »«ß-
  429.          ½Ññ¡Ñú« ºá»«¼¿¡áεΓß∩ ó »«ß½Ññ«óáΓѽ∞¡δσ ó«ºαáßΓáεΘ¿σ áñαÑßáσ  »á-
  430.          ¼∩Γ¿. îѪñπ φ½Ñ¼Ñ¡ΓἿ ¼áßß¿óá ó »á¼∩Γ¿ αáºαδóδ «ΓßπΓßΓóπεΓ. ¥½Ñ-
  431.          ¼Ñ¡Γδ  ¼áßß¿óá  ºá»«¼¿¡áεΓß∩  ñαπú ºá ñαπú«¼ »«ßΓα«τ¡«. ìá»α¿¼Ñα,
  432.          ¼áßß¿ó, ß«ñÑαªáΘ¿⌐ ñóÑ ßΓ᫬¿ ß ΓαѼ∩ ßΓ«½íµá¼¿ ¬áªñá∩,
  433.                 
  434.                                   char A[2][3]
  435.                 
  436.                íπñÑΓ ºá»«¼¡Ñ¡ ß½ÑñπεΘ¿¼ «íαẫ¼. æ¡áτá½á ºá»«¼¿¡áεΓß∩  Γα¿
  437.          ßΓ«½íµá  »Ñαó«⌐ ßΓ᫬¿, ºáΓѼ φ½Ñ¼Ñ¡Γδ ΓαÑσ ßΓ«½íµ«ó óΓ«α«⌐ ßΓα«-
  438.          ¬¿. æ¼δß½ φΓ«ú« ó Γ«¼, τΓ«íδ »«ß½Ññ¡¿⌐ ¿¡ñѬߠíδ½ í«½ÑÑ  íδßΓαδ¼.
  439.          ùΓ«íδ  ß«ß½áΓ∞ß∩ ¡á «Γñѽ∞¡δ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá, ¡πª¡« ¿ß»«½∞º«óáΓ∞
  440.          ¿¡ñѬߡ«Ñ óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ «»¿ßá¡« ó αáºñѽѠ5.2.5.
  441.            
  442.                Åα¿¼Ñαδ:
  443.                 
  444.                 /*************** Example 1 ******************/
  445.                 
  446.                 int scores[10], game;
  447.                 
  448.                 /*************** Example 2 ******************/
  449.                 
  450.                 float matrix[10][15];
  451.                 
  452.                 /*************** Example 3 ******************/
  453.                 
  454.                 struct {
  455.                             float x,y;
  456.                             } complex[100];
  457.                 
  458.                 /*************** Example 4 *******************/
  459.                 
  460.                 char *name[20];
  461.                 
  462.                é »Ñαó«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩ Γ¿»á ¼áßß¿ó ß  ¿¼Ñ-
  463.          ¡Ñ¼  scores  ¿º  10  φ½Ñ¼Ñ¡Γ«ó Γ¿»á int. ÅÑαѼѡ¡á∩ ß ¿¼Ñ¡Ñ¼ game
  464.          «í"∩ó½Ñ¡á ¬á¬ »α«ßΓá∩ »ÑαѼѡ¡á∩ µÑ½«ú« Γ¿»á.
  465.                é« óΓ«α«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩  ñóπ¼Ñα¡δ⌐  ¼áßß¿ó  ß  ¿¼Ñ¡Ñ¼
  466.          matrix. îáßß¿ó ß«ßΓ«¿Γ ¿º 150-Γ¿ φ½Ñ¼Ñ¡Γ«ó Γ¿»á float.
  467.                é  ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ ¼áßß¿ó ßΓαπ¬Γπα. îáßß¿ó ß«ß-
  468.          Γ«¿Γ ¿º 100 «í"Ñ¬Γ«ó. èáªñδ⌐ «í"Ñ¬Γ  ¼áßß¿óá  »αÑñßΓáó½∩ÑΓ  ß«í«⌐
  469.          ßΓαπ¬Γπαπ, ß«ßΓ«∩Θπε ¿º ñóπσ φ½Ñ¼Ñ¡Γ«ó.
  470.                é τÑΓóÑαΓ«¼ »α¿¼ÑαÑ «í"∩ó½Ñ¡ ¼áßß¿ó π¬áºáΓѽÑ⌐. îáßß¿ó ß«ß-
  471.          Γ«¿Γ ¿º 20-Γ¿ φ½Ñ¼Ñ¡Γ«ó, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á
  472.          óѽ¿τ¿¡π Γ¿»á char.
  473.  
  474.                                       - 48 -
  475.          
  476.          
  477.          
  478.                
  479.                4.4.6. Äí"∩ó½Ñ¡¿Ñ π¬áºáΓѽÑ⌐
  480.                 
  481.                æ¿¡Γá¬ß¿ß:
  482.                 
  483.                 <type-specifier> *<declarator>;
  484.                 
  485.                Äí"∩ó½Ñ¡¿Ñ  π¬áºáΓѽ∩ «»αÑñѽ∩ÑΓ ¿¼∩ »ÑαѼѡ¡«⌐ Γ¿»á π¬áºá-
  486.          Γѽ∞ ¿ Γ¿» «í"ѬΓá, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ φΓá »ÑαѼѡ¡á∩. äѬ½áαá-
  487.          Γ«α- <declarator> «»αÑñѽ∩ÑΓ ¿¼∩ »ÑαѼѡ¡«⌐ ß ó«º¼«ª¡«⌐ ¼«ñ¿Σ¿¬á-
  488.          µ¿Ñ⌐ ÑÑ Γ¿»á. æ»Ñµ¿Σ¿¬áΓ«α Γ¿»á-  <type-  specifier>  ºáñáÑΓ  Γ¿»
  489.          «í"ѬΓá,  ¬«Γ«αδ⌐  ¼«ªÑΓ  íδΓ∞  íẫó«ú« Γ¿»á, Γ¿»á ßΓαπ¬Γπαδ ¿½¿
  490.          ß«ó¼ÑΘÑ¡¿∩.
  491.                ÅÑαѼѡ¡á∩ Γ¿»á π¬áºáΓѽ∞ ¼«ªÑΓ π¬áºδóáΓ∞ ΓᬪѠ¡á Σπ¡¬µ¿¿,
  492.          ¼áßß¿óδ ¿ ñαπú¿Ñ π¬áºáΓѽ¿. ü«½ÑÑ »«½¡á∩ ¿¡Σ«α¼áµ¿∩ « Γ¿»áσ  π¬á-
  493.          ºáΓѽÑ⌐ ñá¡á ó αáºñѽѠ4.3.2. "æ«ßΓáó¡δÑ ñѬ½áαáΓ«αδ".
  494.                àß½¿ π¬áºáΓѽ∞ ¡Ñ ¿ß»«½∞ºπÑΓß∩ ñ« «»αÑñѽѡ¿∩ Γ¿»á ßΓαπ¬Γπ-
  495.          αδ  ¿½¿ ß«ó¼ÑΘÑ¡¿∩, Γ« «¡ ¼«ªÑΓ íδΓ∞ «í"∩ó½Ñ¡ αá¡ÑÑ φΓ«ú« «»αÑñÑ-
  496.          ½Ñ¡¿∩. Æá¬¿Ñ «í"∩ó½Ñ¡¿∩  ñ«»π߬áεΓß∩,  »«ß¬«½∞¬π  ¬«¼»¿½∩Γ«απ  ¡Ñ
  497.          ΓαÑíπÑΓß∩ º¡áΓ∞ αẼÑαá ßΓαπ¬Γπαδ ¿½¿ ß«ó¼ÑΘÑ¡¿∩, τΓ«íδ αáß»αÑñÑ-
  498.          ½¿Γ∞  »á¼∩Γ∞  »«ñ »ÑαѼѡ¡πε Γ¿»á π¬áºáΓѽ∞. ô¬áºáΓѽ∞ ¼«ªÑΓ íδΓ∞
  499.          «í"∩ó½Ñ¡ »«ßαÑñßΓó«¼ ¿ß»«½∞º«óá¡¿∩ ΓÑúá ßΓαπ¬Γπαδ ¿½¿  ß«ó¼ÑΘÑ¡¿∩
  500.          (ß¼«Γα¿ ¡¿ªÑ »α¿¼Ñα 4).
  501.                ÅÑαѼѡ¡á∩, «í"∩ó½Ñ¡¡á∩ ¬á¬ π¬áºáΓѽ∞, σαá¡¿Γ áñαÑß »á¼∩Γ¿.
  502.          ÉẼÑα  »á¼∩Γ¿,  ΓαÑíπѼδ⌐  ñ½∩ áñαÑßá, ¿ ß¼δß½ áñαÑßá ºáó¿ß¿Γ «Γ
  503.          ñá¡¡«⌐ ¬«¡Σ¿úπαᵿ¿ ¼áΦ¿¡δ. ô¬áºáΓѽ¿ ¡á αẽ¿τ¡δÑ Γ¿»δ ¡Ñ «í∩ºá-
  504.          Γѽ∞¡« ¿¼ÑεΓ «ñ¡π ¿ Γπ ªÑ ñ½¿¡π.
  505.                ä½∩ ¡Ñ¬«Γ«αδσ αÑ὿ºáµ¿⌐ ¿ß»«½∞ºπεΓß∩ ß»Ñµ¿á½∞¡δÑ  ¬½ετÑóδÑ
  506.          ß½«óá  near,  far  ¿ huge, τΓ«íδ ¼«ñ¿Σ¿µ¿α«óáΓ∞ αẼÑα π¬áºáΓѽ∩.
  507.          Äí"∩ó½Ñ¡¿∩, ¿ß»«½∞ºπεΘ¿Ñ ß»Ñµ¿á½∞¡δÑ ¬½ετÑóδÑ ß½«óá, í뫨 «»¿ßá¡δ
  508.          ó αáºñѽѠ4.3.3. ê¡Σ«α¼áµ¿∩ « ß¼δ߽Ѡ¬½ετÑóδσ ß½«ó ñá¡á ó ß¿ßΓѼ-
  509.          ¡«⌐ ñ«¬π¼Ñ¡Γᵿ¿.
  510.                 
  511.                Åα¿¼Ñαδ:
  512.                 
  513.                char *message;                      /* Example 1 */
  514.                 
  515.                int *pointers[10];                  /* Example 2 */
  516.                 
  517.                int (*pointer)[10];                 /* Example 3 */
  518.                 
  519.                struct list *next, *previous;       /* Example 4 */
  520.                 
  521.                struct list {                       /* Example 5 */
  522.                             char *token;
  523.                             int count;
  524.                             struct list *next;
  525.                        } line;
  526.                 
  527.                struct id {                         /* Example 6 */
  528.                         unsigned int id_no;
  529.                         struct name *pname;
  530.                     } record;
  531.                
  532.  
  533.                                       - 49 -
  534.          
  535.          
  536.                é »Ñαó«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩- π¬áºáΓѽ∞ »«¿¼Ñ¡«-
  537.          óá¡¡á∩ message. Ä¡á π¬áºδóáÑΓ ¡á óѽ¿τ¿¡π Γ¿»á char.
  538.                é« óΓ«α«¼ »α¿¼ÑαÑ «í"∩ó½Ñ¡ ¼áßß¿ó π¬áºáΓѽÑ⌐, »«¿¼Ñ¡«óá¡¡δ⌐
  539.          pointers. îáßß¿ó ß«ßΓ«¿Γ ¿º 10  φ½Ñ¼Ñ¡Γ«ó.  èáªñδ⌐  φ½Ñ¼Ñ¡Γ-  φΓ«
  540.          π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε Γ¿»á int.
  541.                é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «í"∩ó½Ñ¡á »ÑαѼѡ¡á∩- π¬áºáΓѽ∞, »«¿¼Ñ¡«-
  542.          óá¡¡á∩  pointer.  Ä¡á π¬áºδóáÑΓ ¡á ¼áß߿󠿺 10 φ½Ñ¼Ñ¡Γ«ó. èáªñδ⌐
  543.          φ½Ñ¼Ñ¡Γ ó φΓ«¼ ¼áßß¿óÑ ¿¼ÑÑΓ Γ¿» int.
  544.                é τÑΓóÑαΓ«¼ »α¿¼ÑαÑ «í"∩ó½Ñ¡δ ñóÑ »ÑαѼѡ¡δσπ¬áºáΓѽ∩,  ¬«-
  545.          Γ«αδÑ ßßδ½áεΓß∩ ¡á óѽ¿τ¿¡δ ßΓαπ¬Γπα¡«ú« Γ¿»á list (ß¼«Γα¿ ß½Ññπ-
  546.          εΘ¿⌐  »α¿¼Ñα). Ä»αÑñѽѡ¿Ñ Γ¿»á ß ¿¼Ñ¡Ñ¼ list ñ«½ª¡« ¡áσ«ñ¿Γ∞ß∩ ó
  547.          »αÑñѽáσ ó¿ñ¿¼«ßΓ¿ «í"∩ó½Ñ¡¿∩.
  548.                é »∩Γ«¼  »α¿¼ÑαÑ  «í"∩ó½∩ÑΓß∩  »ÑαѼѡ¡á∩  ß  ¿¼Ñ¡Ñ¼  line,
  549.          ßΓαπ¬Γπα¡«ú«  Γ¿»á,  »«¿¼Ñ¡«óá¡¡«ú«  list. Æ¿» ßΓαπ¬Γπαδ ß ¿¼Ñ¡Ñ¼
  550.          list «»αÑñѽ∩ÑΓß∩ ΓαѼ∩ φ½Ñ¼Ñ¡ΓἿ. ÅÑαóδ⌐  φ½Ñ¼Ñ¡ΓφΓ«  π¬áºáΓѽ∞
  551.          ¡á  óѽ¿τ¿¡π  Γ¿»á  char, óΓ«α«⌐- ¡á óѽ¿τ¿¡π Γ¿»á int, á ΓαÑΓ¿⌐-
  552.          φΓ« π¬áºáΓѽ∞ ¡á ß½ÑñπεΘπε ßΓαπ¬Γπαπ Γ¿»á list.
  553.                é ΦÑßΓ«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩  ß  ¿¼Ñ¡Ñ¼  record,
  554.          ¿¼ÑεΘá∩  Γ¿» ßΓαπ¬Γπαδ ß ¿¼Ñ¡Ñ¼ id. çá¼ÑΓ¿¼, τΓ« ΓαÑΓ¿⌐ φ½Ñ¼Ñ¡Γ ß
  555.          ¿¼Ñ¡Ñ¼ pname «í"∩ó½Ñ¡ ¬á¬ π¬áºáΓѽ∞ ¡á  ñαπú«⌐  Γ¿»  ßΓαπ¬Γπαδ  ß
  556.          ¿¼Ñ¡Ñ¼  name.  ¥Γ«  «í"∩ó½Ñ¡¿Ñ  ¼«ªÑΓ  »«∩ó¿Γ∞ß∩ »ÑαÑñ «í"∩ó½Ñ¡¿Ñ
  557.          ßΓαπ¬Γπαδ ß ¿¼Ñ¡Ñ¼ name.
  558.          
  559.                
  560.                4.5. Äí"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿⌐
  561.                 
  562.                æ¿¡Γá¬ß¿ß:
  563.                 
  564.       [<type-specifier>]<declarator>([<arg-type-list>])[,<declarator>...];
  565.                 
  566.                Äí"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓ ¿¼∩, Γ¿» ó«ºóαáΓá Σπ¡¬µ¿¿  ¿,
  567.          ó«º¼«ª¡«,  Γ¿»δ  ¿  τ¿ß½« ÑÑ áαúπ¼Ñ¡Γ«ó. Äí"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ ΓᬪÑ
  568.          ¡áºδóáÑΓß∩ forward- «í"∩ó½Ñ¡¿Ñ¼. äѬ½áαáΓ«α Σπ¡¬µ¿¿ «í"∩ó½∩ÑΓ ¿¼∩
  569.          Σπ¡¬µ¿¿, á ß»Ñµ¿Σ¿¬áΓ«α Γ¿»á ºáñáÑΓ Γ¿» ó«ºóαáΓá. àß½¿ ß»Ñµ¿Σ¿¬á-
  570.          Γ«α  Γ¿»á  «»πΘÑ¡  ó  «í"∩ó½Ñ¡¿¿  Σπ¡¬µ¿¿, Γ« »αÑñ»«½áúáÑΓß∩, τΓ«
  571.          Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ óѽ¿τ¿¡π Γ¿»á int.
  572.                Äí"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ ¼«ªÑΓ ó¬½ετáΓ∞ ß»Ñµ¿Σ¿¬áΓ«αδ ¬½áßßá  »á-
  573.          ¼∩Γ¿ extern ¿½¿ static.
  574.                 
  575.                æ»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó.
  576.                 
  577.                æ»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó- <arg-type-list> «»αÑñѽ∩ÑΓ τ¿ß½« ¿
  578.          Γ¿»δ áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿. æ¿¡Γá¬ß¿ß ß»¿ß¬á áαúπ¼Ñ¡Γ«ó ß½ÑñπεΘ¿⌐:
  579.                 
  580.                <type-name-list>[,...]
  581.                 
  582.                æ»¿ß«¬  ¿¼Ñ¡ Γ¿»«ó- φΓ« ß»¿ß«¬ ¿º «ñ¡«ú« ¿½¿ í«½ÑÑ ¿¼Ñ¡ Γ¿-
  583.          »«ó. èáªñ«Ñ ¿¼∩ Γ¿»á «Γñѽ∩ÑΓß∩ «Γ ñαπú«ú«  ºá»∩Γ«⌐.  ÅÑαó«Ñ  ¿¼∩
  584.          Γ¿»á  ºáñáÑΓ  Γ¿»  »Ñαó«ú«  áαúπ¼Ñ¡Γá, óΓ«α«Ñ ¿¼∩ Γ¿»á ºáñáÑΓ Γ¿»
  585.          óΓ«α«ú« áαúπ¼Ñ¡Γá ¿ Γ. ñ. àß½¿ ß»¿ß«¬  ¿¼Ñ¡  Γ¿»«ó  ºá¬á¡τ¿óáÑΓß∩
  586.          ºá»∩Γ«⌐ ß ¼¡«ú«Γ«τ¿Ñ¼ (,...), Γ« φΓ« «º¡áτáÑΓ, τΓ« τ¿ß½« áαúπ¼Ñ¡-
  587.          Γ«ó  Σπ¡¬µ¿¿ »ÑαѼѡ¡«. Äñ¡á¬«, »αÑñ»«½áúáÑΓß∩, τΓ« Σπ¡¬µ¿∩ íπñÑΓ
  588.          ¿¼ÑΓ∞ ¡Ñ ¼Ñ¡∞ΦÑ áαúπ¼Ñ¡Γ«ó, τѼ ¿¼Ñ¡ Γ¿»«ó, »αÑñΦÑßΓóπεΘ¿σ ¼¡«ú«-
  589.          Γ«τ¿ε.
  590.                àß½¿  ß»¿ß«¬  Γ¿»«ó  áαúπ¼Ñ¡Γ«ó-  <arg-type-list>  ß«ñÑনΓ
  591.  
  592.                                       - 50 -
  593.          
  594.          
  595.          Γ«½∞¬« ¼¡«ú«Γ«τ¿Ñ (...), Γ« τ¿ß½« áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿ ∩ó½∩ÑΓß∩ »Ñ-
  596.          αѼѡ¡δ¼ ¿½¿ αáó¡« ¡π½ε.
  597.                 
  598.                çá¼Ñτá¡¿Ñ:
  599.                 
  600.                ùΓ«íδ  »«ññÑαªáΓ∞  ß«ó¼ÑßΓ¿¼«ßΓ∞  ß  »α«úαἼἿ »αÑñ¿ñπΘ¿σ
  601.          óÑαß¿⌐, ¬«¼»¿½∩Γ«α ñ«»π߬áÑΓ ß¿¼ó«½ ºá»∩Γ«⌐ íѺ ¼¡«ú«Γ«τ¿∩ ó ¬«¡-
  602.          µÑ ß»¿ß¬á Γ¿»«ó áαúπ¼Ñ¡Γ«ó ñ½∩ «í«º¡áτÑ¡¿∩ ¿σ »ÑαѼѡ¡«ú«  τ¿ß½á.
  603.          çá»∩Γá∩  ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ¿ ó¼ÑßΓ« ¼¡«ú«Γ«τ¿∩ ñ½∩ «í"∩ó½Ñ-
  604.          ¡¿∩ ¡π½∩ ¿½¿ í«½ÑÑ áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿. êß»«½∞º«óá¡¿Ñ ºá»∩Γ«⌐ »«ñ-
  605.          ñÑনóáÑΓß∩ Γ«½∞¬« ñ½∩  ß«ó¼ÑßΓ¿¼«ßΓ¿.  êß»«½∞º«óá¡¿Ñ  ¼¡«ú«Γ«τ¿∩
  606.          αѬ«¼Ñ¡ñπÑΓß∩ ñ½∩ ¡«ó«ú« »αÑñßΓáó½Ñ¡¿∩.
  607.                 
  608.                ê¼∩  Γ¿»á- <type- name> ñ½∩ Γ¿»«ó ßΓαπ¬Γπαδ, ß«ó¼ÑΘÑ¡¿∩ ¿½¿
  609.          íẫó«ú« Γ¿»á ß«ßΓ«¿Γ ¿º ß»Ñµ¿Σ¿¬áΓ«αá φΓ«ú« Γ¿»á (Γᬫú« ¬á¬ int
  610.          ). ê¼Ñ¡á Γ¿»«ó ñ½∩ π¬áºáΓѽÑ⌐, ¼áßß¿ó«ó ¿ Σπ¡¬µ¿⌐ Σ«α¼¿απεΓß∩ »π-
  611.          ΓѼ ¬«¼í¿¡áµ¿¿ ß»Ñµ¿Σ¿¬áΓ«αá Γ¿»á ß  "áíßΓαá¬Γ¡δ¼  ñѬ½áαáΓ«α«¼".
  612.          ÇíßΓαá¬Γ¡δ⌐ ñѬ½áαáΓ«α- φΓ« ñѬ½áαáΓ«α íѺ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá. é αáº-
  613.          ñѽѠ 4.9 "ê¼Ñ¡á Γ¿»«ó" «í"∩ß¡∩ÑΓß∩, ¬á¬¿¼ «í"αẫ¼ Σ«α¼¿α«óáΓ∞ ¿
  614.          ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ áíßΓαá¬Γ¡δÑ ñѬ½áαáΓ«αδ.
  615.                ä½∩ Γ«ú« τΓ«íδ «í"∩ó¿Γ∞ Σπ¡¬µ¿ε, ¡Ñ ¿¼ÑεΘπε áαúπ¼Ñ¡Γ«ó, ¼«-
  616.          ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡« ß»Ñµ¿á½∞¡«Ñ ¬½ετÑó«Ñ ß½«ó«  void  ¡á  ¼ÑßΓÑ
  617.          ß»¿ß¬á  Γ¿»«ó áαúπ¼Ñ¡Γ«ó. è«¼»¿½∩Γ«α óδαáíáΓδóáÑΓ »αÑñπ»αѪñáεΘÑÑ
  618.          ß««íΘÑ¡¿Ñ, Ñß½¿ ó ó맮óÑ Γᬫ⌐ Σπ¡¬µ¿¿ íπñπΓ ß»Ñµ¿Σ¿µ¿α«óá¡δ  áα-
  619.          úπ¼Ñ¡Γδ.
  620.                àΘÑ «ñ¡á ß»Ñµ¿á½∞¡á∩ ¬«¡ßΓαπ¬µ¿∩ ñ«»π߬áÑΓß∩ ó ß»¿ß¬Ñ Γ¿»«ó
  621.          áαúπ¼Ñ¡Γ«ó. ¥Γ« Σαáºá void *, ¬«Γ«αá∩ ß»Ñµ¿Σ¿µ¿απÑΓ áαúπ¼Ñ¡Γ Γ¿»á
  622.          π¬áºáΓѽ∞. ¥Γá Σαáºá ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ó ß»¿ß¬Ñ Γ¿»«ó áαúπ-
  623.          ¼Ñ¡Γ«ó ó¼ÑßΓ« ¿¼Ñ¡¿ Γ¿»á.
  624.                
  625.                æ»¿ß«¬  Γ¿»«ó  áαúπ¼Ñ¡Γ«ó  ¼«ªÑΓ íδΓ∞ «»πΘÑ¡. é ºΓ«¼ ß½πτáÑ
  626.          ß¬«í¬¿ »«ß½Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Σπ¡¬µ¿¿ óßÑ ªÑ ΓαÑíπεΓß∩, σ«Γ∩ «¡¿  ¿
  627.          »πßΓδ.  é φΓ«¼ ß½πτáÑ ó «í"∩ó½Ñ¡¿¿ Σπ¡¬µ¿¿ ¡Ñ «»αÑñѽ∩εΓß∩ ¡¿ Γ¿-
  628.          »δ, ¡¿ τ¿ß½« áαúπ¼Ñ¡Γ«ó ó Σπ¡¬µ¿¿. è«úñá φΓá ¿¡Σ«α¼áµ¿∩ «»π߬áÑΓ-
  629.          ß∩, Γ« ¬«¼»¿½∩Γ«α ¡Ñ »α«óÑα∩ÑΓ ß««ΓóÑΓßΓó¿∩ ¼Ñªñπ  Σ«α¼á½∞¡δ¼¿  ¿
  630.          Σá¬Γ¿τÑ߬¿¼¿  »áαá¼ÑΓαἿ »α¿ ó맮óÑ Σπ¡¬µ¿¿. ü«½ÑÑ »«ñα«í¡á∩ ¿¡-
  631.          Σ«α¼áµ¿∩ ñá¡á ó αáºñѽѠ7.4 "é맮óδ Σπ¡¬µ¿⌐".
  632.                 
  633.                Æ¿» ó«ºóαáΓá
  634.                 
  635.                öπ¡¬µ¿¿ ¼«úπΓ ó«ºóαáΘáΓ∞ óѽ¿τ¿¡δ ½εí«ú« Γ¿»á ºá ¿ß¬½ετÑ¡¿-
  636.          Ñ¼ ¼áßß¿ó«ó ¿ Σπ¡¬µ¿⌐. ä½∩ φΓ«ú« »«ßαÑñßΓ󫼠߻ѵ¿Σ¿¬áΓ«αá  Γ¿»á-
  637.          "type-specifier" ó «í"∩ó½Ñ¡¿¿ Σπ¡¬µ¿¿ ¼«ª¡« ß»Ñµ¿Σ¿µ¿α«óáΓ∞ ½εí«⌐
  638.          Γ¿»:  «ß¡«ó¡«⌐,  ßΓαπ¬Γπαπ  ¿½¿ ß«ó¼ÑΘÑ¡¿Ñ. êñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿
  639.          ¼«ªÑΓ íδΓ∞ ¼«ñ¿Σ¿µ¿α«óá¡ «ñ¡«⌐ ¿½¿ ¡Ñ߬«½∞¬¿¼¿  ºóѺñ«τ¬á¼¿  (*),
  640.          τΓ«íδ «í"∩ó¿Γ∞ ó«ºóαáΘáѼπε óѽ¿τ¿¡π Γ¿»á π¬áºáΓѽ∩.
  641.                ò«Γ∩ Σπ¡¬µ¿¿ ¿ ¡Ñ ñ«»π߬áεΓ ó«ºóαáΓ«ó ¼áßß¿ó«ó ¿½¿ Σπ¡¬µ¿⌐,
  642.          ¡«  «¡¿  ¼«úπΓ ó«ºóαáΘáΓ∞ π¬áºáΓѽ¿ ¡á ¼áßß¿óδ ¿½¿ Σπ¡¬µ¿¿. öπ¡¬-
  643.          µ¿¿, ¬«Γ«αδÑ ó«ºóαáΘáεΓ π¬áºáΓѽ¿ ¡á  óѽ¿τ¿¡δ  Γ¿»á  ¼áß߿󠠿½¿
  644.          Σπ¡¬µ¿∩, «í"∩ó½∩εΓß∩ »«ßαÑñßΓó«¼ ¼«ñ¿Σ¿¬áµ¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Σπ¡¬-
  645.          µ¿¿  ¬óáñαáΓ¡δ¼¿  ß¬«í¬á¼¿, ºóѺñ«τ¬«⌐ ¿ ¬απú½δ¼¿ ß¬«í¬á¼¿, τΓ«íδ
  646.          ßΣ«α¼¿α«óáΓ∞ ß«ßΓáó¡«⌐ ñѬ½áαáΓ«α. ö«α¼¿α«óá¡¿Ñ  ¿  ¿¡ΓÑα»αÑΓᵿ∩
  647.          ß«ßΓáó¡δσ ñѬ½áαáΓ«α«ó αáßß¼áΓα¿ó὿ß∞ ó αáºñѽѠ4.3.2.
  648.                  
  649.  
  650.                                       - 51 -
  651.          
  652.          
  653.                Åα¿¼Ñαδ:
  654.                        
  655.                int add(int, int);                  /* Example 1 */
  656.                 
  657.                double calc();                      /* Example 2 */
  658.                 
  659.                char *strfind(char *,...);          /* Example 3 */
  660.                 
  661.                void draf(void);                    /* Example 4 */
  662.                 
  663.                double (*sum(double, double)) [3];  /* Example 5 */
  664.                 
  665.                int (*select(void)) (int) ;         /* Example 6 */
  666.                 
  667.                char *p;                            /* Example 7 */
  668.                short *q;
  669.                int prt(void *);
  670.                 
  671.                é  »Ñαó«¼  »α¿¼ÑαÑ  «í"∩ó½∩ÑΓß∩ Σπ¡¬µ¿∩, »«¿¼Ñ¡«óá¡¡á∩ add,
  672.          ¬«Γ«αá∩ ΓαÑíπÑΓ ñóá áαúπ¼Ñ¡Γá Γ¿»á int ¿ ó«ºóαáΘáÑΓ óѽ¿τ¿¡π Γ¿»á
  673.          int.
  674.                                      
  675.                é«  óΓ«α«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ Σπ¡¬µ¿∩, »«¿¼Ñ¡«óá¡¡á∩ calc,
  676.          ¬«Γ«αá∩ ó«ºóαáΘáÑΓ óѽ¿τ¿¡π Γ¿»á double. æ»¿ß«¬ Γ¿»«ó  áαúπ¼Ñ¡Γ«ó
  677.          ¡Ñ  ºáñá¡.  é  ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ Σπ¡¬µ¿∩, »«¿¼Ñ¡«óá¡¡á∩
  678.          strfind, ¬«Γ«αá∩ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á óѽ¿τ¿¡π Γ¿»á char. öπ¡-
  679.          ¬µ¿∩ ΓαÑíπÑΓ, »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ áαúπ¼Ñ¡Γπ¬áºáΓѽ∞ ¡á  óѽ¿τ¿¡π
  680.          Γ¿»á char. æ»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ºá¬á¡τ¿óáÑΓß∩ ºá»∩Γ«⌐ ß ¼¡«ú«-
  681.          Γ«τ¿Ñ¼, «í«º¡áτáεΘ¿¼, τΓ« Σπ¡¬µ¿∩ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ í«½∞ΦÑÑ τ¿ß½«
  682.          áαúπ¼Ñ¡Γ«ó.
  683.                é  τÑΓóÑαΓ«¼  »α¿¼ÑαÑ  «í"∩ó½∩ÑΓß∩ Σπ¡¬µ¿∩ ß Γ¿»«¼ ó«ºóαáΓá
  684.          void (¡ÑΓ ó«ºóαáΘáѼ«⌐ óѽ¿τ¿¡δ). æ»¿ß«¬ Γ¿»«ó  áαúπ¼Ñ¡Γ«ó  ΓᬪÑ
  685.          void, «º¡áτáεΘ¿⌐ «ΓßπΓßΓó¿Ñ áαúπ¼Ñ¡Γ«ó ñ½∩ φΓ«⌐ Σπ¡¬µ¿¿.
  686.                é  »∩Γ«¼  »α¿¼ÑαÑ sum «í"∩ó½∩ÑΓß∩ ¬á¬ Σπ¡¬µ¿∩, ó«ºóαáΘáεΘá∩
  687.          π¬áºáΓѽ∞ ¡á ¼áß߿󠿺 ΓαÑσ óѽ¿τ¿¡ Γ¿»á double. öπ¡¬µ¿∩ sum ΓαÑ-
  688.          íπÑΓ ñóá áαúπ¼Ñ¡Γá, ¬áªñδ⌐ ¿º  ¬«Γ«αδσ  ∩ó½∩ÑΓß∩  óѽ¿τ¿¡«⌐  Γ¿»á
  689.          double.
  690.                é  ΦÑßΓ«¼  »α¿¼ÑαÑ Σπ¡¬µ¿∩, »«¿¼Ñ¡«óá¡¡á∩ select, «í"∩ó½Ñ¡á
  691.          íѺ áαúπ¼Ñ¡Γ«ó ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε. ô¬áºáΓѽ∞ ó«ºó-
  692.          αáΓá ßßδ½áÑΓß∩ ¡á Σπ¡¬µ¿ε, ΓαÑíπεΘπε «ñ¿¡  áαúπ¼Ñ¡Γ  Γ¿»á  int  ¿
  693.          ó«ºóαáΘáεΘπε óѽ¿τ¿¡π Γ¿»á int.
  694.                é  ßÑñ∞¼«¼  »α¿¼ÑαÑ  «í"∩ó½Ñ¡á Σπ¡¬µ¿∩ prt, ¬«Γ«αá∩ ΓαÑíπÑΓ
  695.          áαúπ¼Ñ¡Γ- π¬áºáΓѽ∞ ½εí«ú« Γ¿»á, ¿  ¬«Γ«αá∩  ó«ºóαáΘáÑΓ  óѽ¿τ¿¡π
  696.          Γ¿»á  int. ïεí«⌐ π¬áºáΓѽ∞ p ¿½¿ q ¼«ú½¿ íδ íδΓ∞ ¿ß»«½∞º«óá¡δ ¬á¬
  697.          áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ íѺ óδñáτ¿ »α¿ φΓ«¼ »αÑñπ»αѪñáεΘÑú« ß««íΘÑ¡¿∩.
  698.          
  699.                
  700.                4.6. è½áßßδ »á¼∩Γ¿
  701.                 
  702.                è½áßß »á¼∩Γ¿  »ÑαѼѡ¡«⌐,  ¬«Γ«αá∩  «»αÑñѽ∩ÑΓ  ¬á¬«⌐  ½¿í«
  703.          «í"ѬΓ, ¿¼ÑÑΓ ú½«íá½∞¡«Ñ ¿½¿ ½«¬á½∞¡«Ñ óαѼ∩ ª¿º¡¿. Äí"Ñ¬Γ ß ú½«-
  704.          íá½∞¡δ¼  óαѼѡѼ ª¿º¡¿ ßπΘÑßΓóπÑΓ ¿ ¿¼ÑÑΓ º¡áτÑ¡¿Ñ ¡á »α«Γ∩ªÑ¡¿¿
  705.          óßÑ⌐ »α«úαá¼¼δ. éßÑ Σπ¡¬µ¿¿ ¿¼ÑεΓ ú½«íá½∞¡«Ñ óαѼ∩ ª¿º¡¿.
  706.                ÅÑαѼѡ¡δÑ ß ½«¬á½∞¡δ¼ óαѼѡѼ ª¿º¡¿ ºáσóáΓδóáεΓ ¡«óπε »á-
  707.          ¼∩Γ∞ »α¿ ¬áªñ«¼ óδ»«½¡Ñ¡¿¿ í½«¬á, ó ¬«Γ«α«¼ «¡¿ «»αÑñѽѡδ. è«úñá
  708.          π»αáó½Ñ¡¿Ñ ¡á óδ»«½¡Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¿º í½«¬á, Γ« »ÑαѼѡ¡á∩ ΓÑα∩-
  709.  
  710.                                       - 52 -
  711.          
  712.          
  713.          ÑΓ ßó«Ñ º¡áτÑ¡¿Ñ.
  714.                ò«Γ∩ æ¿ «»αÑñѽ∩ÑΓ ñóá Γ¿»á ¬½áßß«ó »á¼∩Γ¿, ¡«, ΓѼ ¡Ñ  ¼Ñ-
  715.          ¡ÑÑ, ¿¼ÑÑΓß∩ ß½ÑñπεΘ¿σ τÑΓδαѠ߻ѵ¿Σ¿¬áΓ«αá ¬½áßß«ó »á¼∩Γ¿:
  716.                 
  717.                auto
  718.                register
  719.                static
  720.                extern
  721.                
  722.                Äí"ѬΓδ ¬½áßß«ó auto ¿ register ¿¼ÑεΓ ½«¬á½∞¡«Ñ óαѼ∩  ª¿º-
  723.          ¡¿. æ»Ñµ¿Σ¿¬áΓ«αδ static ¿ extern «»αÑñѽ∩εΓ «í"ѬΓδ ß ú½«íá½∞¡δ¼
  724.          óαѼѡѼ  ª¿º¡¿. èáªñδ⌐ ¿º ß»Ñµ¿Σ¿¬áΓ«α«ó ¬½áßßá »á¼∩Γ¿ ¿¼ÑÑΓ «»-
  725.          αÑñѽѡ¡δ⌐ ß¼δß½, ¬«Γ«αδ⌐ ó½¿∩ÑΓ ¡á ó¿ñ¿¼«ßΓ∞ Σπ¡¬µ¿⌐ ¿  »ÑαѼѡ-
  726.          ¡δσ  ó  Γ«⌐ ªÑ ¼ÑαÑ, ¬á¬ ¿ ßἿ ¬½áßßδ »á¼∩Γ¿. ÆÑନ¡ "ó¿ñ¿¼«ßΓ∞"
  727.          «Γ¡«ß¿Γß∩ ¬ Γ«⌐ τáßΓ¿ »α«úαá¼¼δ, ó ¬«Γ«α«⌐ ¼«úπΓ  ßßδ½áΓ∞ß∩  ñαπú
  728.          ¡á ñαπúá Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ. Äí"ѬΓδ ß ú½«íá½∞¡δ¼ óαѼѡѼ ª¿º-
  729.          ¡¿ ßπΘÑßΓóπεΓ ¡á »α«Γ∩ªÑ¡¿¿ óδ»«½¡Ñ¡¿∩ ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ, ¡« «¡¿
  730.          ¼«úπΓ  íδΓ∞  ó¿ñ¿¼δ ¡Ñ ó« óßÑσ τáßΓ∩σ »α«úαá¼¼δ. é¿ñ¿¼«ßΓ∞ ¿ ßó∩-
  731.          ºá¡¡á∩ ß ¡Ñ⌐ ¬«¡µÑ»µ¿∩ óαѼѡ¿ ª¿º¡¿ αáßß¼«ΓαÑ¡á ó αáºñѽѠ3.5.
  732.                îÑßΓ«αáß»«½«ªÑ¡¿Ñ «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¿½¿ Σπ¡¬µ¿¿  ó¡πΓα¿
  733.          ¿ßσ«ñ¡δσ  Σá⌐½«ó  ΓᬪѠó½¿∩εΓ ¡á ¬½áßß »á¼∩Γ¿ ¿ ó¿ñ¿¼«ßΓ∞. â«ó«-
  734.          α∩Γ, τΓ« «í"∩ó½Ñ¡¿∩ ó¡Ñ «»αÑñѽѡ¿∩ óßÑσ Σπ¡¬µ¿⌐ ¿ »ÑαѼѡ¡δσ «Γ-
  735.          ¡«ß∩Γß∩ ¬ ó¡ÑΦ¡Ñ¼π πα«ó¡ε, á «í"∩ó½Ñ¡¿∩ ó¡πΓα¿ «»αÑñѽѡ¿⌐  Σπ¡¬-
  736.          µ¿⌐ «Γ¡«ß∩Γß∩ ¬ ó¡πΓαÑ¡¡Ñ¼π πα«ó¡ε.
  737.                Æ«τ¡δ⌐ ß¼δß½ ¬áªñ«ú« ß»Ñµ¿Σ¿¬áΓ«αá ¬½áßßá »á¼∩Γ¿ ºáó¿ß¿Γ «Γ
  738.          Γ«ú«,  ¡áσ«ñ¿Γß∩ ½¿ «í"∩ó½Ñ¡¿Ñ ¡á ó¡ÑΦ¡Ñ¼ ¿½¿ ó¡πΓαÑ¡¡Ñ¼ πα«ó¡Ñ ¿
  739.          «Γ Γ«ú«, «í"∩ó½Ñ¡ ½¿ «í"Ñ¬Γ Σπ¡¬µ¿Ñ⌐ ¿½¿ »ÑαѼѡ¡«⌐. é  ß½ÑñπεΘѼ
  740.          αáºñѽѠ «»¿ßδóáÑΓß∩  ß¼δß½ ß»Ñµ¿Σ¿¬áΓ«α«ó ¬½áßßá »á¼∩Γ¿ ó ¬áªñ«¼
  741.          ß½πτáÑ «í"∩ó½Ñ¡¿∩, á ΓᬪѠ «í"∩ß¡∩ÑΓß∩  αѪ¿¼  π¼«½τá¡¿∩,  ¬«úñá
  742.          ß»Ñµ¿Σ¿¬áΓ«α  ¬½áßßá  »á¼∩Γ¿ «»πΘÑ¡ »α¿ «í"∩ó½Ñ¡¿¿ »ÑαѼѡ¡«⌐ ¿½¿
  743.          Σπ¡¬µ¿¿.
  744.          
  745.                
  746.                4.6.1. Äí"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ
  747.                 
  748.                Äí"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ¿ß»«½∞ºπεΓ ß»Ñµ¿Σ¿-
  749.          ¬áΓ«αδ ¬½áßßá »á¼∩Γ¿ static ¿ extern ¿½¿ ß«óßѼ «»π߬áεΓ ¿σ. æ»Ñ-
  750.          µ¿Σ¿¬áΓ«αδ ¬½áßßá »á¼∩Γ¿ auto ¿ register ¡Ñ ñ«»π߬áεΓß∩ ¡á  ó¡ÑΦ-
  751.          ¡Ñ¼ πα«ó¡Ñ.
  752.                Äí"∩ó½Ñ¡¿∩  »ÑαѼѡ¡δσ  ¡á  ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ- φΓ« «»αÑñѽѡ¿∩
  753.          »ÑαѼѡ¡δσ ¿½¿ ßß佬¿ ¡á «»αÑñѽѡ¿∩, ßñѽᡡδÑ ó ñαπú«¼ ¼ÑßΓÑ.
  754.                Äí"∩ó½Ñ¡¿Ñ ó¡ÑΦ¡Ñ⌐ »ÑαѼѡ¡«⌐, ¬«Γ«α«Ñ  ¿¡¿µ¿á½¿º¿απÑΓ  φΓπ
  755.          »ÑαѼѡ¡πε  (∩ó¡« ¿½¿ ¡Ñ∩ó¡«), ¡áºδóáÑΓß∩ «»αÑñѽѡ¿Ñ¼ φΓ«⌐ »ÑαÑ-
  756.          ¼Ñ¡¡«⌐. Ä»αÑñѽѡ¿Ñ ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ¼«ªÑΓ ºáñáóáΓ∞ß∩ ó  ß½Ññπε-
  757.          Θ¿σ αẽ¿τ¡δσ Σ«α¼áσ:
  758.                 
  759.                -»ÑαѼѡ¡á∩  ¡á  ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ¼«ªÑΓ íδΓ∞ «»αÑñѽѡᠻπΓѼ
  760.          ÑÑ «í"∩ó½Ñ¡¿∩ ß« ß»Ñµ¿Σ¿¬áΓ«α«¼ ¬½áßßá »á¼∩Γ¿ static. Æá¬á∩ »ÑαÑ-
  761.          ¼Ñ¡¡á∩ ¼«ªÑΓ íδΓ∞ ∩ó¡« ¿¡¿µ¿á½¿º¿α«óá¡á  ¬«¡ßΓá¡Γ¡δ¼  óδαáªÑ¡¿Ñ¼.
  762.          àß½¿  ¿¡¿µ¿á½¿ºáΓ«α «ΓßπΓßΓóπÑΓ, Γ« »ÑαѼѡ¡á∩ áóΓ«¼áΓ¿τÑ߬¿ ¿¡¿-
  763.          µ¿á½¿º¿απÑΓß∩ ¡π½Ñ¼ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿. Æá¬¿¼ «íαẫ¼,  «í"∩ó½Ñ-
  764.          ¡¿∩  static  int  k = 16; ¿ static int k; «íá αáßß¼áΓα¿óáεΓß∩ ¬á¬
  765.          «»αÑñѽѡ¿∩;
  766.                 
  767.                -»ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓß∩, ¬«úñá «¡á  ∩ó¡«  ¿¡¿µ¿á½¿º¿απÑΓß∩
  768.  
  769.                                       - 53 -
  770.          
  771.          
  772.          ¡á  ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ. ìá»α¿¼Ñα, int j = 3; φΓ« «»αÑñѽѡ¿Ñ »ÑαѼѡ-
  773.          ¡«⌐.
  774.                 
  775.                Æá¬ ¬á¬ »ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓß∩ ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ,  Γ«  «¡á
  776.          ó¿ñ¿¼á  ó »αÑñѽáσ «ßΓáΓ¬á ¿ßσ«ñ¡«ú« Σá⌐½á, «Γ ¼ÑßΓá, úñÑ «¡á «»-
  777.          αÑñѽѡá. ÅÑαѼѡ¡á∩ ¡Ñ ó¿ñ¿¼á óδΦÑ ßó«Ñú« «»αÑñѽѡ¿∩ ó  Γ«¼  ªÑ
  778.          ßἫ¼  ¿ßσ«ñ¡«¼ Σá⌐½Ñ ¡¿ ó ñαπú¿σ ¿ßσ«ñ¡δσ Σá⌐½áσ »α«úαá¼¼δ, Ñß½¿
  779.          ¡Ñ «í"∩ó½Ñ¡á ßß佬á, ¬«Γ«αá∩ ñѽáÑΓ ÑÑ ó¿ñ¿¼«⌐.
  780.                ÅÑαѼѡ¡á∩ ¼«ªÑΓ íδΓ∞ «»αÑñѽѡᠡá ó¡ÑΦ¡Ñ¼  πα«ó¡Ñ  ó¡πΓα¿
  781.          ¿ßσ«ñ¡«ú« Σá⌐½á Γ«½∞¬« «ñ¿¡ αáº. àß½¿ ºáñáÑΓß∩ ß»Ñµ¿Σ¿¬áΓ«α ¬½áß-
  782.          ßá  »á¼∩Γ¿ static, Γ« ó ñαπú¿σ ¿ßσ«ñ¡δσ Σá⌐½áσ ¼«úπΓ íδΓ∞ «»αÑñÑ-
  783.          ½Ñ¡δ »ÑαѼѡ¡δÑ ß ΓѼ  ªÑ  ¿¼Ñ¡Ñ¼.  Æá¬  ¬á¬  ¬áªñ«Ñ  «»αÑñѽѡ¿Ñ
  784.          static  ó¿ñ¿¼«  Γ«½∞¬«  ó  »αÑñѽáσ ßó«Ñú« ß«íßΓóÑ¡¡«ú« ¿ßσ«ñ¡«ú«
  785.          Σá⌐½á, Γ« ¬«¡Σ½¿¬ΓᠡѠ󫺡¿¬¡ÑΓ.
  786.                æ»Ñµ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ extern ¿ß»«½∞ºπÑΓß∩ ñ½∩ «í"∩ó½Ñ-
  787.          ¡¿∩ ßß佬¿ ¡á »ÑαѼѡ¡πε, «»αÑñѽѡ¡πε úñÑ-Γ« ó ñαπú«¼ ¼ÑßΓÑ. Æá-
  788.          ¬¿Ñ «í"∩ó½Ñ¡¿∩ ¿ß»«½∞ºπεΓß∩ ó ß½πτáÑ, ¬«úñá ¡πª¡« ßñѽáΓ∞ ó¿ñ¿¼δ¼
  789.          «»αÑñѽѡ¿Ñ »ÑαѼѡ¡«⌐ ó ñαπú¿σ ¿ßσ«ñ¡δσ Σá⌐½áσ ¿½¿  óδΦÑ  ¼ÑßΓá,
  790.          úñÑ  «¡á «»αÑñѽѡá ó Γ«¼ ªÑ ßἫ¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ. Æá¬ ¬á¬ ßß佬á
  791.          ¡á »ÑαѼѡ¡πε «í"∩ó½Ñ¡á ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ, Γ« »ÑαѼѡ¡á∩ ó¿ñ¿¼á ó
  792.          »αÑñѽáσ «ßΓáΓ¬á ¿ßσ«ñ¡«ú« Σá⌐½á «Γ ¼ÑßΓá «í"∩ó½Ñ¡¿∩ ßß佬¿.
  793.                é «í"∩ó½Ñ¡¿∩σ, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓ ß»Ñµ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩-
  794.          Γ¿ extern, ¿¡¿µ¿á½¿ºáµ¿∩ ¡Ñ ñ«»π߬áÑΓß∩, Γᬠ¬á¬ «¡¿ ßßδ½áεΓß∩ ¡á
  795.          »ÑαѼѡ¡δÑ, τ∞¿ óѽ¿τ¿¡δ πªÑ «»αÑñѽѡδ.
  796.                ÅÑαѼѡ¡á∩, ¡á ¬«Γ«απε ñѽáÑΓß∩ ßß佬á extern, ñ«½ª¡á  íδΓ∞
  797.          «»αÑñѽѡᠠ¡á  ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ Γ«½∞¬« «ñ¿¡ αáº. Ä»αÑñѽѡ¿Ñ ¼«ªÑΓ
  798.          íδΓ∞ ßñѽᡫ ó ½εí«¼ ¿º ¿ßσ«ñ¡δσ Σá⌐½«ó, ß«ßΓáó½∩εΘ¿σ »α«úαá¼¼π.
  799.                àßΓ∞ «ñ¡« ¿ß¬½ετÑ¡¿Ñ ¿º »αáó¿½, «»¿ßá¡¡δσ óδΦÑ. î«ª¡« «»πß-
  800.          Γ¿Γ∞ ¿º «í"∩ó½Ñ¡¿∩  »ÑαѼѡ¡«⌐  ¡á  ó¡ÑΦ¡Ñ¼  πα«ó¡Ñ  ß»Ñµ¿Σ¿¬áΓ«α
  801.          ¬½áßßá  »á¼∩Γ¿ ¿ ¿¡¿µ¿á½¿ºáΓ«α. ìá»α¿¼Ñα, «í"∩ó½Ñ¡¿Ñ int n; íπñÑΓ
  802.          »αáó¿½∞¡δ¼ ó¡ÑΦ¡¿¼ «í"∩ó½Ñ¡¿Ñ¼. ¥Γ« «í"∩ó½Ñ¡¿Ñ ¿¼ÑÑΓ ñóá  αẽ¿τ-
  803.          ¡δσ ß¼δß½á ó ºáó¿ß¿¼«ßΓ¿ «Γ ¬«¡ΓѬßΓá.
  804.                 
  805.                1.  àß½¿ úñÑ-¡¿íπñ∞ ó »α«úαἼѠíπñÑΓ «»αÑñѽѡᠡá ó¡ÑΦ¡Ñ¼
  806.          πα«ó¡Ñ »ÑαѼѡ¡á∩ ß ΓѼ ªÑ ¿¼Ñ¡Ñ¼, Γ« «í"∩ó½Ñ¡¿Ñ ∩ó½∩ÑΓß∩ ßß佬«⌐
  807.          ¡á φΓπ »ÑαѼѡ¡πε, ¬á¬ Ñß½¿ íδ íδ½ ¿ß»«½∞º«óᡠ߻ѵ¿Σ¿¬áΓ«α ¬½áß-
  808.          ßá »á¼∩Γ¿ extern ó «í"∩ó½Ñ¡¿¿.
  809.                 
  810.                2.  àß½¿  ¡ÑΓ Γᬫú« «»αÑñѽѡ¿∩, Γ« «í"∩ó½Ñ¡¡«⌐ »ÑαѼѡ¡«⌐
  811.          αáß»αÑñѽ∩ÑΓß∩ »á¼∩Γ∞ ó« óαѼ∩ ½¿¡¬«óá¡¿∩ ¿ »ÑαѼѡ¡á∩  ¿¡¿µ¿á½¿-
  812.          º¿απÑΓß∩  ¡π½Ñ¼.  àß½¿  ó »α«úαἼѠ»«∩ó¿Γß∩ í«½ÑÑ τѼ «ñ¡« ΓᬫÑ
  813.          «í"∩ó½Ñ¡¿Ñ, Γ« »á¼∩Γ∞ αáß»αÑñѽ¿Γß∩ ñ½∩  ¡á¿í«½∞ΦÑú«  αẼÑαá  ¿º
  814.          «í"∩ó½Ñ¡¡δσ »ÑαѼѡ¡δσ. ìá»α¿¼Ñα, Ñß½¿ »α«úαá¼¼á ß«ñÑαª¿Γ ñóá ¡Ñ-
  815.          ¿¡¿µ¿á½¿º¿α«óá¡¡δσ  «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ i ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ int
  816.          i; ¿ char i; Γ« »á¼∩Γ∞ ó« óαѼ∩ ½¿¡¬«óá¡¿∩ αáß»αÑñѽ¿Γß∩ »«ñ  »Ñ-
  817.          αѼѡ¡πε i Γ¿»á int.
  818.                
  819.                 
  820.                ìÑ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¡á ó¡ÑΦ¡Ñ¼ πα«ó-
  821.          ¡Ñ  ¡Ñ  αѬ«¼Ñ¡ñπεΓß∩  ñ½∩ Σá⌐½«ó, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ αẼÑΘÑ¡δ ó
  822.          í¿í½¿«ΓѬπ.
  823.                 
  824.  
  825.                                       - 54 -
  826.          
  827.                Åα¿¼Ñα:
  828.                 
  829.                 /*****************************************************
  830.          
  831.                                     SOURCE FILE ONE
  832.                 *****************************************************/
  833.            
  834.                 extern int i;                 /* reference to i
  835.                                                  defined below */
  836.                 
  837.                 main()
  838.                 {
  839.                         i++;
  840.                         printf("%d\n", i);    /* i equals 4 */
  841.                         next();
  842.                 }
  843.                 
  844.                 int i = 3;                    /* definition of i */
  845.                 
  846.                 next()
  847.                 {
  848.                         i++;
  849.                         printf("%d\n", i);    /* i equals 5 */
  850.                         other();
  851.                 }
  852.                 
  853.                 /*****************************************************
  854.                                 SOURCE FILE TWO
  855.                 *****************************************************/
  856.                 
  857.                 extern int i;                 /* reference to i in
  858.                                                  first source file */
  859.                 
  860.                 other()
  861.                 {
  862.                         i++;
  863.                         printf("%d\n", i);    /* i equals 6 */
  864.                 }
  865.                 
  866.                äóá ¿ßσ«ñ¡δσ Σá⌐½á  ó  ß«ó«¬π»¡«ßΓ¿  ß«ñÑαªáΓ  Γα¿  ó¡ÑΦ¡¿σ
  867.          «í"∩ó½Ñ¡¿∩  i. Äñ¡« «í"∩ó½Ñ¡¿Ñ ß«ñÑαª¿Γ ¿¡¿µ¿á½¿ºáµ¿ε- int i = 3;
  868.          , úñÑ ú½«íá½∞¡á∩ »ÑαѼѡ¡á∩ i «»αÑñѽѡᠠߠ ¡áτá½∞¡δ¼  º¡áτÑ¡¿Ñ¼
  869.          αáó¡δ¼ 3.
  870.                æá¼«Ñ  »Ñαó«Ñ  «í"∩ó½Ñ¡¿Ñ extern ó »Ñαó«¼ Σá⌐½Ñ ñѽáÑΓ ú½«-
  871.          íá½∞¡πε »ÑαѼѡ¡πε ó¿ñ¿¼«⌐ óδΦÑ ÑÑ «»αÑñѽѡ¿∩ ó Σá⌐½Ñ.
  872.                üѺ «í"∩ó½Ñ¡¿∩ extern Σπ¡¬µ¿∩ main ¡Ñ ß¼«ú½á  íδ  ß«ß½áΓ∞ß∩
  873.          ¡á  ú½«íá½∞¡πε  »ÑαѼѡ¡πε  i.  Äí"∩ó½Ñ¡¿Ñ extern »ÑαѼѡ¡«⌐ i ó«
  874.          óΓ«α«¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ ñѽáÑΓ ú½«íá½∞¡πε »ÑαѼѡ¡πε ó¿ñ¿¼«⌐ ó φΓ«¼
  875.          ¿ßσ«ñ¡«¼ Σá⌐½Ñ.
  876.                éßÑ Γα¿ Σπ¡¬µ¿¿ óδ»«½¡∩εΓ «ñ¡π ¿ Γπ ªÑ ºáñáτπ: «¡¿ πóѽ¿τ¿-
  877.          óáεΓ i ¡á 1 ¿ »ÑτáΓáεΓ  »«½πτ¿óΦÑÑß∩  º¡áτÑ¡¿Ñ.  (ÅαÑñ»«½áúáÑΓß∩,
  878.          τΓ« Σπ¡¬µ¿∩ printf «»αÑñѽѡá úñÑ-Γ« ÑΘÑ ó »α«úαá¼¼Ñ.). ÅÑτáΓáεΓ-
  879.          ß∩ óѽ¿τ¿¡δ αáó¡δÑ 4, 5 ¿ 6.
  880.                àß½¿ íδ »ÑαѼѡ¡á∩ i ¡Ñ íδ½á íδ ¿¡¿µ¿á½¿º¿α«óá¡á,«¡á íδ íδ-
  881.          ½á  áóΓ«¼áΓ¿τÑ߬¿  πßΓá¡«ó½Ñ¡á  ó 0 »α¿ ½¿¡¬«óá¡¿¿. é φΓ«¼ ß½πτáÑ
  882.          ¡á»ÑτáΓá¡¡δÑ º¡áτÑ¡¿∩ í뫨 íδ αáó¡δ 1, 2 ¿ 3.
  883.                
  884.                
  885.  
  886.                                       - 55 -
  887.          
  888.                4.6.2. Äí"∩ó½Ñ¡¿Ñ »ÑαѼѡ¡«⌐ ¡á ó¡πΓαÑ¡¡Ñ¼ πα«ó¡Ñ
  889.          
  890.                 
  891.                ïεí«⌐ ¿º τÑΓδαÑσ ß»Ñµ¿Σ¿¬áΓ«α«ó ¬½áßßá  »á¼∩Γ¿  ¼«ªÑΓ  íδΓ∞
  892.          ¿ß»«½∞º«óá¡  ñ½∩ «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¡á ó¡πΓαÑ¡¡Ñ¼ πα«ó¡Ñ. àß½¿
  893.          ß»Ñµ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ «»π߬áÑΓß∩ ó «í"∩ó½Ñ¡¿¿ »ÑαѼѡ¡«⌐  ¡á
  894.          ó¡πΓαÑ¡¡Ñ¼ πα«ó¡Ñ, Γ« »«ñαáºπ¼ÑóáÑΓß∩ ¬½áßß »á¼∩Γ¿ auto.
  895.                æ»Ñµ¿Σ¿¬áΓ«α  ¬½áßßá »á¼∩Γ¿ auto «í"∩ó½∩ÑΓ »ÑαѼѡ¡πε ß ½«-
  896.          ¬á½∞¡δ¼ óαѼѡѼ ª¿º¡¿. ÅÑαѼѡ¡á∩ ó¿ñ¿¼á Γ«½∞¬« ó Γ«¼ í½«¬Ñ, úñÑ
  897.          «¡á «í"∩ó½Ñ¡á. Äí"∩ó½Ñ¡¿∩ »ÑαѼѡ¡δσ auto ¼«úπΓ ó¬½ετáΓ∞  ¿¡¿µ¿á-
  898.          ½¿ºáΓ«αδ.  ÅÑαѼѡ¡δÑ ¬½áßßá »á¼∩Γ¿ auto áóΓ«¼áΓ¿τÑ߬¿ ¡Ñ ¿¡¿µ¿á-
  899.          ½¿º¿απεΓß∩, á ¿¡¿µ¿á½¿º¿απεΓß∩ ∩ó¡« »α¿ «í"∩ó½Ñ¡¿¿ ¿½¿ »α¿ßóá¿óá-
  900.          ¡¿¿ ¡áτá½∞¡δσ º¡áτÑ¡¿⌐, »«ßαÑñßΓó«¼ «»ÑαáΓ«α«ó ó¡πΓα¿ í½«¬á. àß½¿
  901.          ¡ÑΓ ¿¡¿µ¿á½¿ºáµ¿¿, Γ« óѽ¿τ¿¡á »ÑαѼѡ¡«⌐ auto ßτ¿ΓáÑΓß∩  ¡Ñ«»αÑ-
  902.          ñѽѡ¡«⌐.
  903.                æ»Ñµ¿Σ¿¬áΓ«α  ¬½áßßá »á¼∩Γ¿ register ß««íΘáÑΓ ¬«¼»¿½∩Γ«απ «
  904.          Γ«¼, τΓ«íδ «¡ αáß»αÑñѽ¿½ »á¼∩Γ∞ »«ñ »ÑαѼѡ¡πε ó αÑú¿ßΓαÑ,  Ñß½¿
  905.          φΓ«  ó«º¼«ª¡«. êß»«½∞º«óá¡¿Ñ αÑú¿ßΓα«ó«⌐ »á¼∩Γ¿ «íδτ¡« »α¿ó«ñ¿Γ ¬
  906.          í«½ÑÑ íδßΓα«¼π óαѼѡ¿ ñ«ßΓπ»á ¿ ¬ ¼Ñ¡∞ΦѼπ αẼÑαπ  αѺπ½∞Γ¿απε-
  907.          ΘÑú« ¬«ñá. ÅÑαѼѡ¡δÑ, «í"∩ó½Ñ¡¡δÑ ß ¬½áßß«¼ »á¼∩Γ¿ register ¿¼Ñ-
  908.          εΓ Γπ ªÑ ßá¼πε ó¿ñ¿¼«ßΓ∞, τΓ« ¿ »ÑαѼѡ¡δÑ auto.
  909.                ù¿ß½« αÑú¿ßΓα«ó, ¬«Γ«α«Ñ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡« »«ñ »á¼∩Γ∞
  910.          »ÑαѼѡ¡δσ,  ºáó¿ß¿Γ «Γ ¼áΦ¿¡δ. è«úñá ¬«¼»¿½∩Γ«α óßΓαÑτáÑΓ ß»Ñµ¿-
  911.          Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ register ó «í"∩ó½Ñ¡¿¿, á ßó«í«ñ¡«ú« αÑú¿ßΓ-
  912.          αá ¡Ñ ¿¼ÑÑΓß∩, Γ« ñ½∩  »ÑαѼѡ¡«⌐  αáß»αÑñѽ∩ÑΓß∩  »á¼∩Γ∞  ¬½áßßá
  913.          auto.  è«¼»¿½∩Γ«α  ¡áº¡áτáÑΓ  »ÑαѼѡ¡δ¼ αÑú¿ßΓα«óπε »á¼∩Γ∞ ó Γ«¼
  914.          »«α∩ñ¬Ñ, ó ¬«Γ«α«¼ »«∩ó½∩εΓß∩ «í"∩ó½Ñ¡¿∩ ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ. ÉÑú¿ß-
  915.          Γα«óá∩ »á¼∩Γ∞, Ñß½¿ «¡á ¿¼ÑÑΓß∩, úáαá¡Γ¿α«óá¡á Γ«½∞¬« ñ½∩  µÑ½«ú«
  916.          ¿ áñαÑß¡«ú« Γ¿»«ó.
  917.                ÅÑαѼѡ¡á∩,  «í"∩ó½Ñ¡¡á∩ ¡á ó¡πΓαÑ¡¡Ñ¼ πα«ó¡Ñ ß« ß»Ñµ¿Σ¿¬á-
  918.          Γ«α«¼ ¬½áßßá »á¼∩Γ¿ static,¿¼ÑÑΓ ú½«íá½∞¡«Ñ óαѼ∩ ª¿º¡¿  ¿  ¿¼ÑÑΓ
  919.          ó¿ñ¿¼«ßΓ∞ Γ«½∞¬« ó¡πΓα¿ í½«¬á, ó ¬«Γ«α«¼ «¡á «í"∩ó½Ñ¡á. é «Γ½¿τ¿Ñ
  920.          «Γ »ÑαѼѡ¡δσ auto, »ÑαѼѡ¡δÑ, «í"∩ó½Ñ¡¡δÑ ¬á¬ static, ß«σαá¡∩εΓ
  921.          ßó«Ñ º¡áτÑ¡¿Ñ »α¿ ºáóÑαΦÑ¡¿¿ í½«¬á.
  922.                ÅÑαѼѡ¡δÑ ¬½áßßá »á¼∩Γ¿ static ¼«úπΓ íδΓ∞ ¿¡¿µ¿á½¿º¿α«óá¡δ
  923.          ¬«¡ßΓá¡Γ¡δ¼ óδαáªÑ¡¿Ñ¼. àß½¿ ∩ó¡«⌐ ¿¡¿µ¿á½¿ºáµ¿¿ ¡ÑΓ, Γ« »ÑαѼѡ-
  924.          ¡á∩  ¬½áßßá »á¼∩Γ¿ static áóΓ«¼áΓ¿τÑ߬¿ πßΓá¡áó½¿óáÑΓß∩ ó 0. ê¡¿-
  925.          µ¿á½¿ºáµ¿∩ óδ»«½¡∩ÑΓß∩ «ñ¿¡ αẠó« óαѼ∩ ¬«¼»¿½∩µ¿¿.  ê¡¿µ¿á½¿ºá-
  926.          µ¿∩ »ÑαѼѡ¡«⌐ ¬½áßßá »á¼∩Γ¿ static ¡Ñ »«óΓ«α∩ÑΓß∩ »α¿ ¡«ó«¼ óσ«-
  927.          ñÑ ó í½«¬.
  928.                ÅÑαѼѡ¡á∩,  «í"∩ó½Ñ¡¡á∩  ß«  ß»Ñµ¿Σ¿¬áΓ«α«¼  ¬½áßßá »á¼∩Γ¿
  929.          extern, ∩ó½∩ÑΓß∩ ßß佬«⌐ ¡á »ÑαѼѡ¡πε ß ΓѼ ªÑ ßá¼δ¼ ¿¼Ñ¡Ñ¼, «»-
  930.          αÑñѽѡ¡πε ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ó ½εí«¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ »α«úαá¼¼δ.
  931.                ûѽ∞ ó¡πΓαÑ¡¡Ñú« «í"∩ó½Ñ¡¿∩ extern  ß«ßΓ«¿Γ  ó  Γ«¼,  τΓ«íδ
  932.          ßñѽáΓ∞  «»αÑñѽѡ¿Ñ  »ÑαѼѡ¡«⌐  ó¡ÑΦ¡Ñú«  πα«ó¡∩ ó¿ñ¿¼«⌐ ó¡πΓα¿
  933.          í½«¬á. é¡πΓαÑ¡¡ÑÑ «í'∩ó½Ñ¡¿Ñ extern ¡Ñ  ¿º¼Ñ¡∩ÑΓ  ó¿ñ¿¼«ßΓ∞  ú½«-
  934.          íá½∞¡«⌐ »ÑαѼѡ¡«⌐ ó ½εí«⌐ ñαπú«⌐ τáßΓ¿ »α«úαá¼¼δ.
  935.                 
  936.                Åα¿¼Ñα:
  937.                 
  938.                int i = 1;
  939.                 
  940.                main()
  941.                 {       /* reference to i, defined above */
  942.                         extern int i;
  943.                 
  944.                         /* initial value is zero; a is
  945.  
  946.                                       - 56 -
  947.          
  948.          
  949.                            visible only within main */
  950.                         static int a;
  951.                 
  952.                         /* b is stored in a register, if possible */
  953.                         register int b = 0;
  954.                 
  955.                         /* default storage class is auto */
  956.                         int c = 0;
  957.                 
  958.                         /* values printed are 1, 0, 0, 0 */
  959.                         printf("%d\n%d\n%d\n%d\n", i, a, b, c);
  960.                         other();
  961.                 }
  962.                 other()
  963.                 {
  964.                         /* i is redefined */
  965.                         int i = 16;
  966.                 
  967.                         /* this a is visible only within other */
  968.                         static int a = 2;
  969.                         a += 2;
  970.                         /* values printed are 16, 4 */
  971.                         printf("%d\n%d\n", i, a);
  972.                 }
  973.                 
  974.                ÅÑαѼѡ¡á∩ i «»αÑñѽ∩ÑΓß∩ ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ß ¿¡¿µ¿á½¿ºáµ¿-
  975.          Ñ⌐  1.  é  Σπ¡¬µ¿¿  main  «í"∩ó½Ñ¡á ßß佬á extern ¡á »ÑαѼѡ¡πε i
  976.          ó¡ÑΦ¡Ñú« πα«ó¡∩. ÅÑαѼѡ¡á∩ ¬½áßßá  »á¼∩Γ¿  static  áóΓ«¼áΓ¿τÑ߬¿
  977.          πßΓá¡áó½¿óáÑΓß∩  ó 0, Γᬠ¬á¬ ¿¡¿µ¿á½¿ºáΓ«α «»πΘÑ¡. é맮ó Σπ¡¬µ¿¿
  978.          print (»αÑñ»«½áúáÑΓß∩, τΓ« Σπ¡¬µ¿∩ print  «»αÑñѽѡᠠ󠠬ᬫ¼-Γ«
  979.          ¼ÑßΓÑ ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ.) »ÑτáΓáÑΓ óѽ¿τ¿¡δ 1, 0, 0, 0.
  980.                é  Σπ¡¬µ¿¿ other, »ÑαѼѡ¡á∩ i »ÑαÑ«»αÑñѽ∩ÑΓß∩ ¬á¬ ½«¬á½∞-
  981.          ¡á∩ »ÑαѼѡ¡á∩ ß ¡áτá½∞¡δ¼ º¡áτÑ¡¿Ñ¼ 16. ¥Γ« ¡Ñ ó½¿∩ÑΓ ¡á  º¡áτÑ-
  982.          ¡¿Ñ ó¡ÑΦ¡Ñ⌐ »ÑαѼѡ¡«⌐ i. ÅÑαѼѡ¡á∩ a «í"∩ó½∩ÑΓß∩ ¬á¬ »ÑαѼѡ¡á∩
  983.          ¬½áßßá »á¼∩Γ¿ static ß ¡áτá½∞¡δ¼ º¡áτÑ¡¿Ñ¼ 2. Ä¡á ¡Ñ »α«Γ¿ó«αÑτ¿Γ
  984.          »ÑαѼѡ¡«⌐ a, «í"∩ó½Ñ¡¡«⌐ ó Σπ¡¬µ¿¿ main, Γᬠ¬á¬ ó¿ñ¿¼«ßΓ∞ »ÑαÑ-
  985.          ¼Ñ¡¡δσ  ¬½áßßá »á¼∩Γ¿ static ¡á ó¡πΓαÑ¡¡Ñ¼ πα«ó¡Ñ «úαá¡¿τÑ¡á í½«-
  986.          ¬«¼, ó ¬«Γ«α«¼ «¡á «í"∩ó½Ñ¡á.
  987.                ç¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ πóѽ¿τ¿óáÑΓß∩ ¡á 2 ¿ ßΓá¡«ó¿Γß∩  αáó¡δ¼
  988.          4.  àß½¿ íδ Σπ¡¬µ¿∩ other íδ½á óδºóá¡á ß¡«óá ó Γ«⌐ ªÑ ßἫ⌐ »α«ú-
  989.          αá¼¼Ñ, Γ« ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ a ßΓὫ íδ αáó¡δ¼ 4. é¡πΓαÑ¡¡¿Ñ  »Ñ-
  990.          αѼѡ¡δÑ  ¬½áßßá »á¼∩Γ¿ static ß«σαá¡∩εΓ ßó«¿ º¡áτÑ¡¿∩, ¬«úñá ºá-
  991.          ¬á¡τ¿óáÑΓß∩ óδ»«½¡Ñ¡¿Ñ í½«¬á, ó ¬«Γ«α«¼ «¡¿ «í"∩ó½Ñ¡δ.
  992.          
  993.                
  994.                4.6.3. Äí"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ ¡á ó¡ÑΦ¡Ñ¼ ¿ ó¡πΓαÑ¡¡Ñ¼ πα«ó¡∩σ
  995.                 
  996.                öπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ «í"∩ó½Ñ¡δ ß« ß»Ñµ¿Σ¿¬áΓ«αἿ ¬½áßßá  »á-
  997.          ¼∩Γ¿  static  ¿½¿  extern.  öπ¡¬µ¿¿ óßÑúñá ¿¼ÑεΓ ú½«íá½∞¡«Ñ óαѼ∩
  998.          ª¿º¡¿.
  999.                Åαáó¿½á ó¿ñ¿¼«ßΓ¿ ñ½∩ Σπ¡¬µ¿⌐ «Γ½¿τáεΓß∩ «Γ »αáó¿½ ó¿ñ¿¼«ß-
  1000.          Γ¿ ñ½∩ »ÑαѼѡ¡δσ. Äí"∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐ ¡á ó¡πΓαÑ¡¡Ñ¼ πα«ó¡Ñ  ¿¼ÑεΓ
  1001.          Γ«Γ  ªÑ ßá¼δ⌐ ß¼δß½, τΓ« ¿ «í"∩ó½Ñ¡¿∩ ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ. ¥Γ« º¡á-
  1002.          τ¿Γ, τΓ« Σπ¡¬µ¿¿ ¡Ñ ¼«úπΓ ¿¼ÑΓ∞  í½«τ¡«⌐  ó¿ñ¿¼«ßΓ¿  ¿  ó¿ñ¿¼«ßΓ∞
  1003.          Σπ¡¬µ¿⌐  ¡Ñ ¼«ªÑΓ íδΓ∞ ó½«ªÑ¡¡«⌐. öπ¡¬µ¿∩ «í"∩ó½Ñ¡¡á∩ ¬á¬ static,
  1004.  
  1005.                                       - 57 -
  1006.          
  1007.          
  1008.          ó¿ñ¿¼á Γ«½∞¬« ó »αÑñѽáσ ¿ßσ«ñ¡«ú« Σá⌐½á, ó ¬«Γ«α«¼ «¡á «»αÑñѽ∩-
  1009.          ÑΓß∩. ïεíá∩ Σπ¡¬µ¿∩ ó Γ«¼ ªÑ ßἫ¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ  ¼«ªÑΓ  óδºóáΓ∞
  1010.          Σπ¡¬µ¿ε  static,  ¡« Σπ¡¬µ¿¿ static ¿º ñαπú¿σ Σá⌐½«ó ¡ÑΓ. öπ¡¬µ¿∩
  1011.          static ß ΓѼ ªÑ ßá¼δ¼ ¿¼Ñ¡Ñ¼ ¼«ªÑΓ íδΓ∞ «í"∩ó½Ñ¡á ó ñαπú«¼ ¿ßσ«ñ-
  1012.          ¡«¼ Σá⌐½Ñ.
  1013.                öπ¡¬µ¿¿, «í"∩ó½Ñ¡¡δÑ ¬á¬ extern ó¿ñ¿¼δ ó »αÑñѽáσ óßÑσ  ¿ß-
  1014.          σ«ñ¡δσ  Σá⌐½«ó, ¬«Γ«αδÑ ß«ßΓáó½∩εΓ »α«úαá¼¼π. ïεíá∩ Σπ¡¬µ¿∩ ¼«ªÑΓ
  1015.          óδºóáΓ∞ Σπ¡¬µ¿ε extern.
  1016.                Äí"∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐, ó ¬«Γ«αδσ  «»πΘÑ¡  ß»Ñµ¿Σ¿¬áΓ«α  ¬½áßßá
  1017.          »á¼∩Γ¿, ßτ¿ΓáεΓß∩ »« π¼«½τá¡¿ε extern.
  1018.          
  1019.                
  1020.                4.7. ê¡¿µ¿á½¿ºáµ¿∩
  1021.                 
  1022.                é «í"∩ó½Ñ¡¿¿ »ÑαѼѡ¡«⌐ ¼«ªÑΓ íδΓ∞ »α¿ßó«Ñ¡« ¡áτá½∞¡«Ñ º¡á-
  1023.          τÑ¡¿Ñ »«ßαÑñßΓó«¼ ¿¡¿µ¿á½¿ºáΓ«αá. éѽ¿τ¿¡á ¿½¿ óѽ¿τ¿¡δ ¿¡¿µ¿á½¿-
  1024.          ºáΓ«αá »α¿ßóá¿óáεΓß∩ »ÑαѼѡ¡«⌐.
  1025.                
  1026.                æ¿¡Γá¬ß¿τÑ߬¿, ºá»¿ß¿ ¿¡¿µ¿á½¿ºáΓ«αá »αÑñΦÑßΓóπÑΓ º¡á¬ αáó-
  1027.          ¡« (=)
  1028.                 
  1029.                 =<initializer>
  1030.                 
  1031.                î«úπΓ íδΓ∞ ¿¡¿µ¿á½¿º¿α«óá¡δ »ÑαѼѡ¡δÑ ½εí«ú« Γ¿»á. öπ¡¬µ¿¿
  1032.          ¡Ñ  ¿¡¿µ¿á½¿º¿απεΓß∩. Äí"∩ó½Ñ¡¿∩, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓ ß»Ñµ¿Σ¿¬áΓ«α
  1033.          ¬½áßßá »á¼∩Γ¿ extern ¡Ñ ¼«úπΓ ß«ñÑαªáΓ∞ ¿¡¿µ¿á½¿ºáΓ«αá.
  1034.                ÅÑαѼѡ¡δÑ, «í"∩ó½Ñ¡¡δÑ ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ, ¼«úπΓ íδΓ∞  ¿¡¿-
  1035.          µ¿á½¿º¿α«óá¡δ. àß½¿ «¡¿ ∩ó¡« ¡Ñ ¿¡¿µ¿á½¿º¿α«óá¡δ, Γ« «¡¿ πßΓá¡áó-
  1036.          ½¿óáεΓß∩  ó  ¡π½∞ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿ ¿½¿ ½¿¡¬«óá¡¿∩. ïεíá∩ »ÑαÑ-
  1037.          ¼Ñ¡¡á∩, «í"∩ó½Ñ¡¡á∩ ß« ß»Ñµ¿Σ¿¬áΓ«α«¼ ¬½áßßá »á¼∩Γ¿ static, ¼«ªÑΓ
  1038.          íδΓ∞ ¿¡¿µ¿á½¿º¿α«óá¡á ¬«¡ßΓá¡Γ¡δ¼ óδαáªÑ¡¿Ñ¼. ê¡¿µ¿á½¿ºáµ¿∩ »ÑαÑ-
  1039.          ¼Ñ¡¡δ󠬽áßßá static óδ»«½¡∩ÑΓß∩ «ñ¿¡ αẠ ó«  óαѼ∩  ¬«¼»¿½∩µ¿¿.
  1040.          àß½¿ «ΓßπΓßΓóπÑΓ ∩ó¡á∩ ¿¡¿µ¿á½¿ºáµ¿∩, Γ« »ÑαѼѡ¡δÑ ¬½áßßá »á¼∩Γ¿
  1041.          static áóΓ«¼áΓ¿τÑ߬¿ πßΓá¡áó½¿óáεΓß∩ ó ¡π½∞.
  1042.                ê¡¿µ¿á½¿ºáµ¿∩ »ÑαѼѡ¡δσ auto ¿ register óδ»«½¡∩ÑΓß∩ ¬áªñδ⌐
  1043.          αẠ»α¿ óσ«ñÑ ó í½«¬, ó ¬«Γ«α«¼ «¡¿ «í"∩ó½Ñ¡δ. àß½¿ ¿¡¿µ¿á½¿ºáΓ«α
  1044.          «»πΘÑ¡  ó  «í"∩ó½Ñ¡¿¿ »ÑαѼѡ¡«⌐ ¬½áßßá »á¼∩Γ¿ auto ¿½¿ register,
  1045.          Γ« ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ  »ÑαѼѡ¡«⌐  ¡Ñ  «»αÑñѽѡ«.  ê¡¿µ¿á½¿ºáµ¿∩
  1046.          ß«ßΓáó¡δσ  Γ¿»«ó  auto (¼áßß¿ó, ßΓαπ¬Γπαá, ß«ó¼ÑΘÑ¡¿Ñ) ºá»αÑΘÑ¡á.
  1047.          ïεí«Ñ ß«ßΓáó¡«Ñ «í"∩ó½Ñ¡¿Ñ ¬½áßßá »á¼∩Γ¿ static ¼«ªÑΓ íδΓ∞ ¿¡¿µ¿-
  1048.          á½¿º¿α«óá¡« ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ.
  1049.                ìáτá½∞¡δ¼¿ º¡áτÑ¡¿∩¼¿ ñ½∩ ó¡ÑΦ¡¿σ «í"∩ó½Ñ¡¿⌐  »ÑαѼѡ¡«⌐  ¿
  1050.          ñ½∩  óßÑσ  »ÑαѼѡ¡δσ  static ¬á¬ ó¡ÑΦ¡¿σ Γᬠ¿ ó¡πΓαÑ¡¡¿σ ñ«½ª¡«
  1051.          íδΓ∞ ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ. ÇóΓ«¼áΓ¿τÑ߬¿Ñ ¿ αÑú¿ßΓα«óδÑ »ÑαѼѡ-
  1052.          ¡δÑ ¼«úπΓ íδΓ∞ ¿¡¿µ¿á½¿º¿α«óá¡δ ¬«¡ßΓá¡Γ¡δ¼¿ ¿½¿ »ÑαѼѡ¡δ¼¿  óÑ-
  1053.          ½¿τ¿¡á¼¿.
  1054.                
  1055.                 
  1056.                4.7.1. üẫóδÑ Γ¿»δ ¿ Γ¿»δ π¬áºáΓѽÑ⌐
  1057.                 
  1058.                æ¿¡Γá¬ß¿ß:
  1059.                  
  1060.                =<expression>
  1061.                 
  1062.                éѽ¿τ¿¡á  óδαáªÑ¡¿∩ »α¿ßóá¿óáÑΓß∩ »ÑαѼѡ¡«⌐. ä½∩ óδαáªÑ¡¿∩
  1063.  
  1064.                                       - 58 -
  1065.          
  1066.          
  1067.          ñ«»πßΓ¿¼δ »αáó¿½á »αÑ«íαẫóá¡¿∩.
  1068.                Åα¿¼Ñαδ:
  1069.                 
  1070.                 int x = 10;                    /* Example 1 */
  1071.                 
  1072.                 register int *px = 0;          /* Example 2 */
  1073.                 
  1074.                 int c = (3 * 1024);            /* Example 3 */
  1075.                 
  1076.                 int *b = &x;                   /* Example 4 */
  1077.                 
  1078.                é »Ñαó«¼ »α¿¼ÑαÑ x ¿¡¿µ¿á½¿º¿απÑΓß∩ ¬«¡ßΓá¡Γ¡δ¼  óδαáªÑ¡¿Ñ¼
  1079.          10.  é« óΓ«α«¼ »α¿¼ÑαÑ, π¬áºáΓѽ∞ px ¿¡¿µ¿á½¿º¿α«óá¡ ¡π½Ñ¼, ó αÑ-
  1080.          ºπ½∞ΓáΓÑ τÑú« »«½πτ¿½ß∩ "null" π¬áºáΓѽ∞. é ΓαÑΓ∞Ѽ  »α¿¼ÑαÑ  ¿ß-
  1081.          »«½∞ºπÑΓß∩ ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ c. é τÑΓóÑαΓ«¼
  1082.          »α¿¼ÑαÑ ¿¡¿µ¿á½¿º¿απÑΓß∩ π¬áºáΓѽ∞ b áñαÑß«¼ ñαπú«⌐ »ÑαѼѡ¡«⌐ x.
  1083.          
  1084.                
  1085.                4.7.2. æ«ßΓáó¡δÑ Γ¿»δ
  1086.                 
  1087.                æ¿¡Γá¬ß¿ß:
  1088.                 
  1089.                ={<initializer-list>}
  1090.                 
  1091.                æ»¿ß«¬  ¿¡¿µ¿á½¿ºáΓ«α«ó <initializer-list> - φΓ« »«ß½Ññ«óá-
  1092.          Γѽ∞¡«ßΓ∞ ¿¡¿µ¿á½¿ºáΓ«α«ó, αáºñѽѡ¡δσ ºá»∩Γ묨. èáªñδ⌐ ¿¡¿µ¿á½¿-
  1093.          ºáΓ«α ó »«ß½Ññ«óáΓѽ∞¡«ßΓ¿- φΓ« ½¿í« ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ,  ½¿í«
  1094.          ß»¿ß«¬  ¿¡¿µ¿á½¿ºáΓ«α«ó.  Å«φΓ«¼π,  ºá¬½ετÑ¡¡δ⌐ ó Σ¿úπα¡δѠ߬«í¬¿
  1095.          ß»¿ß«¬, ¼«ªÑΓ »«∩ó¿Γ∞ß∩ ó¡πΓα¿ ñαπú«ú« ß»¿ß¬á ¿¡¿µ¿á½¿ºáµ¿¿.  ¥Γá
  1096.          ¬«¡ßΓαπ¬µ¿∩  ¿ß»«½∞ºπÑΓß∩  ñ½∩  ¿¡¿µ¿á½¿ºáµ¿¿ φ½Ñ¼Ñ¡Γ«ó ß«ßΓáó¡δσ
  1097.          ¬«¡ßΓαπ¬µ¿⌐.
  1098.                ä½∩ ¬áªñ«ú« ß»¿ß¬á ¿¡¿µ¿á½¿ºáµ¿¿ º¡áτÑ¡¿∩ ¬«¡ßΓá¡Γ¡δσ óδαá-
  1099.          ªÑ¡¿⌐ »α¿ßóá¿óáεΓß∩ ó »«α∩ñ¬Ñ ß½Ññ«óá¡¿∩ φ½Ñ¼Ñ¡Γ«ó ß«ßΓáó¡«⌐  »Ñ-
  1100.          αѼѡ¡«⌐.  è«úñá ¿¡¿µ¿á½¿º¿απÑΓß∩ ß«ó¼ÑΘÑ¡¿Ñ, Γ« ß»¿ß«¬ ¿¡¿µ¿á½¿-
  1101.          ºáΓ«α«ó »αÑñßΓáó½∩ÑΓ ß«í«⌐  Ññ¿¡ßΓóÑ¡¡«Ñ  ¬«¡ßΓá¡Γ¡«Ñ  óδαáªÑ¡¿Ñ.
  1102.          éѽ¿τ¿¡á  ¬«¡ßΓá¡Γ¡«ú«  óδαáªÑ¡¿∩  »α¿ßóá¿óáÑΓß∩ »Ñαó«¼π φ½Ñ¼Ñ¡Γπ
  1103.          ß«ó¼ÑΘÑ¡¿∩.
  1104.                àß½¿ ó ß»¿ß¬Ñ ¿¡¿µ¿á½¿ºáµ¿¿ ¼Ñ¡∞ΦÑ óѽ¿τ¿¡, τѼ ¿σ  ¿¼ÑÑΓß∩
  1105.          ó  ß«ßΓáó¡«¼  Γ¿»Ñ,  Γ« «ßΓáóΦ¿Ñß∩ »á¼∩Γ¿ ¿¡¿µ¿á½¿º¿απεΓß∩ ¡π½Ñ¼.
  1106.          àß½¿ τ¿ß½« ¿¡¿µ¿á½¿º¿απεΘ¿σ óѽ¿τ¿¡ í«½∞ΦÑ τѼ ΓαÑíπÑΓß∩, Γ«  óδ-
  1107.          ñáÑΓß∩ «Φ¿í¬á.
  1108.                ¥Γ¿ »αáó¿½á »α¿¼Ñ¡∩εΓß∩ ¬ ¬áªñ«¼π ó½«ªÑ¡¡«¼π ß»¿ß¬π ¿¡¿µ¿á-
  1109.          ½¿ºáΓ«α«ó, Γ«τ¡« ΓᬠªÑ ¬á¬ ¿ ¬« óßÑ⌐ ¬«¡ßΓαπ¬µ¿¿ ó µÑ½«¼.
  1110.                 
  1111.                Åα¿¼Ñα:
  1112.                 
  1113.                int p[4] [3] = {
  1114.                          { 1, 1, 1 },
  1115.                          { 2, 2, 2 },
  1116.                          { 3, 3, 3,},
  1117.                          { 4, 4, 4,},
  1118.                 };
  1119.                 
  1120.                é  »α¿¼ÑαÑ  «í"∩ó½∩ÑΓß∩  ¼áßß¿ó p αẼÑα¡«ßΓ¿ 4 ßΓ᫬¿ ¡á 3
  1121.          ßΓ«½íµá. ¥½Ñ¼Ñ¡Γδ »Ñαó«⌐ ßΓ᫬¿ ¿¡¿µ¿á½¿º¿απεΓß∩ 1, óΓ«α«⌐ ßΓ᫬¿
  1122.  
  1123.                                       - 59 -
  1124.          
  1125.          
  1126.          2 ¿ Γ. ñ. çá¼ÑΓ¿¼, τΓ« ß»¿ß¬¿ ¿¡¿µ¿á½¿ºáΓ«α«ó ΓαÑΓ∞Ñ⌐ ¿ τÑΓóÑαΓ«⌐
  1127.          ßΓ᫬ ºá¬á¡τ¿óáεΓß∩ ºá»∩Γ«⌐. Å«ß½Ññ¡¿⌐ ß»¿ß«¬  ¿¡¿µ¿á½¿ºáΓ«α«ó  {
  1128.          4, 4, 4,} ΓᬪѠºá¬á¡τ¿óáÑΓß∩ ºá»∩Γ«⌐.
  1129.                ¥Γ¿  ñ«»«½¡¿Γѽ∞¡δÑ  ºá»∩ΓδÑ  ñ«»π߬áεΓß∩, ¡« ¡Ñ ΓαÑíπεΓß∩.
  1130.          ÆαÑíπεΓß∩ Γ«½∞¬« ΓÑ ºá»∩ΓδÑ, ¬«Γ«αδÑ αáºñѽ∩εΓ ¬«¡ßΓá¡Γ¡δÑ  óδαá-
  1131.          ªÑ¡¿∩  ¿  ß»¿ß¬¿  ¿¡¿µ¿á½¿ºáµ¿¿.  àß½¿  ß»¿ß«¬ ¿¡¿µ¿á½¿ºáΓ«α«ó ¡Ñ
  1132.          ßΓαπ¬Γπα¿α«óá¡ »«ñ ß«ßΓáó¡«⌐ «í"ѬΓ, Γ« Ñú« óѽ¿τ¿¡δ »α¿ßóá¿óáεΓ-
  1133.          ß∩ ó Γ«¼ »«α∩ñ¬Ñ, ó ¬«Γ«α«¼ »«ñßΓ䬫óá¡δ φ½Ñ¼Ñ¡Γδ «í"ѬΓá. Å«φΓ«-
  1134.          ¼π óδΦÑ»α¿óÑñÑ¡¡á∩ ¿¡¿µ¿á½¿ºáµ¿∩ φ¬ó¿óá½Ñ¡Γ¡á ß½ÑñπεΘÑ⌐:
  1135.                 
  1136.                int p[4] [3] = {
  1137.                          1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4
  1138.                 };
  1139.                  
  1140.                ö¿úπα¡δѠ߬«í¬¿ ¼«úπΓ ΓᬪѠ»«∩ó½∩Γ∞ß∩ ó«¬απú  ¿¡ñ¿ó¿ñπá½∞-
  1141.          ¡δσ ¿¡¿µ¿á½¿ºáΓ«α«ó ó ß»¿ß¬Ñ.
  1142.                è«úñá ¿¡¿µ¿á½¿º¿απεΓß∩ ß«ßΓáó¡δÑ »ÑαѼѡ¡δÑ, Γ« ¡πª¡« »«ºá-
  1143.          í«Γ¿Γ∞ß∩  «  Γ«¼,  τΓ«íδ »αáó¿½∞¡« ¿ß»«½∞º«óáΓ∞ Σ¿úπα¡δѠ߬«í¬¿ ¿
  1144.          ß»¿ß¬¿ ¿¡¿µ¿á½¿ºáΓ«α«ó. é ß½ÑñπεΘѼ »α¿¼ÑαÑ ¿½½εßΓα¿απÑΓß∩  í«½ÑÑ
  1145.          ñÑΓá½∞¡« ¿¡ΓÑα»αÑΓᵿ∩ ¬«¼»¿½∩Γ«α«¼ Σ¿úπα¡δσ ß¬«í«¬.
  1146.                 
  1147.                typedef struct {
  1148.                     int n1, n2, n3;
  1149.                 } triplet;
  1150.                 
  1151.                 triplet nlist[2] [3] = {
  1152.                  { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } },  /* Line 1 */
  1153.                  { { 10,11,12}, { 13,14,15}, { 15,16,17} }   /* Line 2 */
  1154.                 };
  1155.                 
  1156.                é  »α¿¼ÑαÑ nlist «í"∩ó½∩ÑΓß∩ ¬á¬ ¼áßß¿ó ßΓαπ¬Γπα, ß«ßΓ«∩Θ¿⌐
  1157.          ¿º ñóπσ ßΓ᫬ ¿ ΓαÑσ ßΓ«½íµ«ó. èáªñá∩ ßΓαπ¬Γπαá ß«ßΓ«¿Γ  ¿º  ΓαÑσ
  1158.          φ½Ñ¼Ñ¡Γ«ó.  ÅÑαóá∩ ßΓα«¬á ¿¡¿µ¿á½¿ºáµ¿¿ ¡áº¡áτáÑΓ óѽ¿τ¿¡δ »Ñαó«⌐
  1159.          ßΓα«¬Ñ ¼áßß¿óá nlist ß½ÑñπεΘ¿¼ «íαẫ¼:
  1160.                 
  1161.                1. ÅÑαóá∩ ½Ñóá∩ Σ¿úπα¡á∩ ß¬«í¬á Line 1 ¿¡Σ«α¼¿απÑΓ ¬«¼»¿½∩-
  1162.          Γ«α « Γ«¼, τΓ« φΓ« ¡áτὫ  ¿¡¿µ¿á½¿ºáµ¿¿  »Ñαó«⌐  ßΓ᫬¿  ¼áßß¿óá
  1163.          nlist(nlist[0]).
  1164.                2. éΓ«αá∩ ½Ñóá∩ Σ¿úπα¡á∩ ß¬«í¬á «º¡áτáÑΓ Γ«, τΓ« ¡áτ¿¡áÑΓß∩
  1165.          ¿¡¿µ¿á½¿ºáµ¿∩  »Ñαó«ú«  φ½Ñ¼Ñ¡Γá »Ñαó«⌐ ßΓ᫬¿ ¼áßß¿óá ( nlist[0]
  1166.          [0] ).
  1167.                3. ÅÑαóá∩ »αáóá∩ Σ¿úπα¡á∩ ß¬«í¬á ß««íΘáÑΓ «í «¬«¡τá¡¿¿ ¿¡¿-
  1168.          µ¿á½¿ºáµ¿¿ »Ñαó«ú« φ½Ñ¼Ñ¡Γá- ßΓαπ¬Γπαδ  nlist[0]  [0].  æ½ÑñπεΘá∩
  1169.          ½Ñóá∩  Σ¿úπα¡á∩  ß¬«í¬á  ß««íΘáÑΓ  « ¡áτá½Ñ ¿¡¿µ¿á½¿ºáµ¿¿ óΓ«α«ú«
  1170.          φ½Ñ¼Ñ¡Γá »Ñαó«⌐ ßΓ᫬¿ nlist[0] [1].
  1171.                4. Åα«µÑßß »α«ñ«½ªáÑΓß∩ ñ« ¬«¡µá Line 1 ¿ ºá¬á¡τ¿óáÑΓß∩  »«
  1172.          »«ß½Ññ¡Ñ⌐ »αáó«⌐ Σ¿úπα¡«⌐ ß¬«í¬Ñ.
  1173.                 
  1174.                Ç¡á½«ú¿τ¡«, Line 2 ¡áº¡áτáÑΓ óѽ¿τ¿¡δ óΓ«α«⌐ ßΓα«¬Ñ ¼áßß¿óá
  1175.          nlist.
  1176.                çá¼ÑΓ¿¼, τΓ« ó¡ÑΦ¡¿Ñ Σ¿úπα¡δѠ߬«í¬¿ ¿¡¿µ¿á½¿ºáΓ«α«ó Line 1
  1177.          ¿  Line 2 ΓαÑíπεΓß∩. æ½ÑñπεΘá∩ ¬«¡ßΓαπ¬µ¿∩, ó ¬«Γ«α«⌐ ó¡ÑΦ¡¿Ñ Σ¿-
  1178.          úπα¡δѠ߬«í¬¿ «»πΘÑ¡δ íπñÑΓ ¡ÑóÑα¡«⌐.
  1179.                 
  1180.                             /* THIS CAUSES AN ERROR */
  1181.  
  1182.                                       - 60 -
  1183.          
  1184.          
  1185.                 triplet nlist[2] [3] = {
  1186.                  { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 },  /* Line 1 */
  1187.                  { 10,11,12}, { 13,14,15}, {16,17,18 }   /* Line 2 */
  1188.                };
  1189.                
  1190.                é φΓ«¼ »α¿¼ÑαÑ »Ñαóá∩ ½Ñóá∩ Σ¿úπα¡á∩ ß¬«í¬á ó Line 1  ßΓáα-
  1191.          ΓπÑΓ  ¿¡¿µ¿á½¿ºáµ¿ε  nlist[0],  ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ ¼áß߿󫼠¿º ΓαÑσ
  1192.          ßΓαπ¬Γπα. éѽ¿τ¿¡δ 1, 2,  3  ¡áº¡áτáεΓß∩  ΓαѼ  φ½Ñ¼Ñ¡Γá¼  »Ñαó«⌐
  1193.          ßΓαπ¬Γπαδ. è«úñá óßΓαÑΓ¿Γß∩ »αáóá∩ Σ¿úπα¡á∩ ß¬«í¬á (»«ß½Ñ óѽ¿τ¿-
  1194.          ¡δ  3), ¿¡¿µ¿á½¿ºáµ¿∩ nlist[0] ºá¬«¡τ¿Γß∩ ¿ ñóÑ «ßΓáóΦ¿Ñß∩ ßΓαπ¬-
  1195.          Γπαδ áóΓ«¼áΓ¿τÑ߬¿ ¿¡¿µ¿á½¿º¿απεΓß∩ ¡π½Ñ¼. Ç¡á½«ú¿τ¡«, { 4, 5,  6
  1196.          }  ¿¡¿µ¿á½¿º¿απÑΓ  »Ñαóπε ßΓαπ¬Γπαπ ó« óΓ«α«⌐ ßΓα«¬Ñ nlist, á «ß-
  1197.          ΓáóΦ¿Ñß∩ ñóÑ ßΓαπ¬Γπαδ nlist[1] πßΓá¡«ó∩Γß∩ ó ¡π½∞. è«úñá  ¬«¼»¿-
  1198.          ½∩Γ«α óßΓαÑΓ¿Γ ß½ÑñπεΘ¿⌐ ß»¿ß«¬ ¿¡¿µ¿á½¿ºáµ¿¿ { 7, 8, 9 }, Γ« φΓ«
  1199.          »α¿óÑñÑΓ  ¬  »«»δΓ¬Ñ ¿¡¿µ¿á½¿º¿α«óáΓ∞ nlist[2]. Æá¬ ¬á¬ nlist ß«-
  1200.          ñÑαª¿Γ Γ«½∞¬« ñóÑ ßΓ᫬¿, Γ« íπñÑΓ óδñá¡« ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  1201.                 
  1202.                Åα¿¼Ñαδ:
  1203.                 
  1204.                 /******************* Example 1 *********************/
  1205.                 
  1206.                 struct list {
  1207.                         int i, j, k;
  1208.                         float n[2] [3];
  1209.                         } x = {
  1210.                                1,
  1211.                                2,
  1212.                                3,
  1213.                                {4.0, 4.0, 4.0}
  1214.                        };
  1215.                 
  1216.                 /******************* Example 2 *********************/
  1217.                 
  1218.                 union {
  1219.                        char x[2] [3];
  1220.                        int i, j, k;
  1221.                        } y = {
  1222.                                {'1'},
  1223.                                {'4'}
  1224.                        };
  1225.                 
  1226.                é »Ñαó«¼ »α¿¼ÑαÑ Γα¿ φ½Ñ¼Ñ¡Γá int ßΓαπ¬Γπα¡«⌐ »ÑαѼѡ¡«⌐  x
  1227.          ¿¡¿µ¿á½¿º¿α«óá¡δ  1,  2,  ¿ 3 ß««ΓóÑΓßΓóÑ¡¡«. Æα¿ φ½Ñ¼Ñ¡Γá »Ñαó«⌐
  1228.          ßΓ᫬¿ ¼áßß¿óá m ¿¡¿µ¿á½¿º¿α«óá¡δ ¬á¬ 4.0. ¥½Ñ¼Ñ¡Γδ óΓ«α«⌐ ßΓ᫬¿
  1229.          ¿¡¿µ¿á½¿º¿α«óá¡δ ¡π½Ñ¼ »« π¼«½τá¡¿ε.
  1230.                é« óΓ«α«¼ »α¿¼ÑαÑ ¿¡¿µ¿á½¿º¿απÑΓß∩ »ÑαѼѡ¡á∩ y Γ¿»á ß«ó¼Ñ-
  1231.          ΘÑ¡¿∩. ÅÑαóδ¼ φ½Ñ¼Ñ¡Γ«¼ ß«ó¼ÑΘÑ¡¿∩ ∩ó½∩ÑΓß∩ ¼áßß¿ó, ñ½∩  ¬«Γ«α«ú«
  1232.          ΓαÑíπÑΓß∩ ß«ßΓáó¡«⌐ ¿¡¿µ¿á½¿ºáΓ«α. æ»¿ß«¬ ¿¡¿µ¿á½¿ºáµ¿¿ {'1'} ºá-
  1233.          ñáÑΓ óѽ¿τ¿¡δ ñ½∩ »Ñαó«⌐ ßΓ᫬¿ ¼áßß¿óá. Å«ß¬«½∞¬π ó ß»¿ß¬Ñ óßÑú«
  1234.          «ñ¡á  óѽ¿τ¿¡á, Γ« Γ«½∞¬« »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ßΓ᫬¿ ¼áßß¿óá ¿¡¿µ¿á½¿-
  1235.          º¿απÑΓß∩ ß¿¼ó«½«¼ 1 , á «ßΓáóΦ¿Ñß∩ ñóá φ½Ñ¼Ñ¡Γá ó ßΓα«¬Ñ  ¿¡¿µ¿á-
  1236.          ½¿º¿απεΓß∩  ¡π½Ñ¼  (ß¿¼ó«½«¼  \0)  »« π¼«½τá¡¿ε. Ç¡á½«ú¿τ¡«, »Ñαóδ⌐
  1237.          φ½Ñ¼Ñ¡Γ óΓ«α«⌐ ßΓ᫬¿ ¼áßß¿óá x ¿¡¿µ¿á½¿º¿απÑΓß∩  ß¿¼ó«½«¼  4,  á
  1238.          «ßΓáóΦ¿Ñß∩ ñóá φ½Ñ¼Ñ¡Γá ó ßΓα«¬Ñ ¿¡¿µ¿á½¿º¿απεΓß∩ ¡π½Ñ¼.
  1239.          
  1240.  
  1241.                                       - 61 -
  1242.          
  1243.          
  1244.                
  1245.                4.7.3. æΓ᫬«óδÑ ¿¡¿µ¿á½¿ºáΓ«αδ
  1246.                 
  1247.                îáß߿󠼫ªÑΓ íδΓ∞ ¿¡¿µ¿á½¿º¿α«óá¡ ßΓα«τ¡δ¼ ½¿ΓÑαὫ¼.
  1248.                ìá»α¿¼Ñα,
  1249.                 
  1250.                 char code[ ] = "abc";
  1251.                 
  1252.                ¿¡¿µ¿á½¿º¿απÑΓ  code ¬á¬ ¼áßß¿ó ß¿¼ó«½«ó ¿º τÑΓδαÑσ φ½Ñ¼Ñ¡-
  1253.          Γ«ó. ùÑΓóÑαΓδ¼ φ½Ñ¼Ñ¡Γ«¼ ∩ó½∩ÑΓß∩ ß¿¼ó«½ \0, ¬«Γ«αδ⌐ ºáóÑαΦáÑΓ  óßÑ
  1254.          ßΓ᫬«óδÑ ½¿ΓÑαá½δ.
  1255.                àß½¿  ß»Ñµ¿Σ¿µ¿απÑΓß∩  αẼÑα  ¼áßß¿óá, á ßΓ᫬á í«½∞ΦÑ τѼ
  1256.          ß»Ñµ¿Σ¿µ¿α«óá¡¡δ⌐ αẼÑα, Γ« ½¿Φ¡¿Ñ ß¿¼ó«½δ «ΓíαáßδóáεΓß∩. æ½Ññπ-
  1257.          εΘÑÑ «í"∩ó½Ñ¡¿Ñ ¿¡¿µ¿á½¿º¿απÑΓ »ÑαѼѡ¡πε code, ¬á¬  ΓαÑσφ½Ñ¼Ñ¡Γ-
  1258.          ¡δ⌐ ¼áßß¿ó ß¿¼ó«½«ó:
  1259.                 
  1260.                char code[3] = "abcd"
  1261.                 
  1262.                é »α¿¼ÑαÑ Γ«½∞¬« Γα¿ »ÑαóδÑ ß¿¼ó«½á ¿¡¿µ¿á½¿ºáΓ«αᠡạáτá-
  1263.          εΓß∩ ñ½∩ ¼áßß¿óá code. æ¿¼ó«½ d ¿ ß¿ó«½ ¡π½∞ «ΓíαáßδóáεΓß∩.
  1264.                àß½¿  ßΓα«¬á  ¬«α«τÑ, τѼ ß»Ñµ¿Σ¿µ¿α«óá¡¡δ⌐ αẼÑα ¼áßß¿óá,
  1265.          Γ« «ßΓáóΦ¿Ñß∩ φ½Ñ¼Ñ¡Γδ ¼áßß¿óá ¿¡¿µ¿á½¿º¿απεΓß∩  ¡π½Ñ¼  (ß¿¼ó«½«¼
  1266.          \0).
  1267.          
  1268.                
  1269.                4.8. Äí"∩ó½Ñ¡¿∩ Γ¿»«ó
  1270.                 
  1271.                Äí"∩ó½Ñ¡¿Ñ  Γ¿»á «»αÑñѽ∩ÑΓ ¿¼∩ ¿ φ½Ñ¼Ñ¡Γδ ßΓαπ¬Γπα¡«ú« ¿½¿
  1272.          ß«ó¼ÑΘáεΘÑú« Γ¿»«ó ¿½¿ ¿¼∩ ¿ »ÑαÑτ¿ß½¿¼«Ñ ¼¡«ªÑßΓó« »ÑαÑτ¿ß½¿¼«ú«
  1273.          Γ¿»á.
  1274.                ê¼∩ Γ¿»á ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡« ó «í"∩ó½Ñ¡¿∩σ »ÑαѼѡ¡δσ ¿
  1275.          Σπ¡¬µ¿⌐ ó ¬áτÑßΓóÑ ßß佬¿ ¡á φΓ«Γ Γ¿». ¥Γ« »«½Ñº¡«, ¬«úñá  ¼¡«ú¿Ñ
  1276.          »ÑαѼѡ¡δÑ ¿½¿ Σπ¡¬µ¿¿ ¿¼ÑεΓ «ñ¿¡ ¿ Γ«Γ ªÑ Γ¿».
  1277.                Äí"∩ó½Ñ¡¿Ñ  typedef  «»αÑñѽ∩ÑΓ ß»Ñµ¿Σ¿¬áΓ«α Γ¿»á ñ½∩ Γ¿»á.
  1278.          ¥Γ« «í"∩ó½Ñ¡¿Ñ ¿ß»«½∞ºπÑΓß∩ ñ½∩ Γ«ú«, τΓ«íδ ß«ºñáóáΓ∞  í«½ÑÑ  ¬«-
  1279.          α«Γ¬¿Ñ  ¿½¿  í«½ÑÑ  «ß¼δ߽ѡ¡δÑ ¿¼Ñ¡á Γ¿»«ó πªÑ «»αÑñѽѡ¡δσ ó æ¿
  1280.          ¿½¿ «í"∩ó½Ñ¡¡δσ »«½∞º«óáΓѽѼ.
  1281.          
  1282.                
  1283.                4.8.1. Æ¿»δ ßΓαπ¬Γπα, ß«ó¼ÑΘÑ¡¿⌐ ¿ »ÑαÑτ¿ß½Ñ¡¿⌐
  1284.                 
  1285.                Äí"∩ó½Ñ¡¿∩ Γ¿»«ó ßΓαπ¬Γπα, ß«ó¼ÑΘÑ¡¿⌐ ¿ »ÑαÑτ¿ß½Ñ¡¿⌐  ¿¼ÑεΓ
  1286.          Γπ ªÑ ßá¼πε «íΘπε ß¿¡Γá¬ß¿τÑ߬πε Σ«α¼π, ¬á¬ ¿ «í"∩ó½Ñ¡¿∩ »ÑαѼѡ-
  1287.          ¡δσ  φΓ¿σ  Γ¿»«ó. é «í"∩ó½Ñ¡¿¿ Γ¿»á ¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαѼѡ¡«⌐ «»π-
  1288.          ΘÑ¡, Γᬠ¬á¬ ¡ÑΓ »ÑαѼѡ¡«⌐ ¬«Γ«αá∩ «í"∩ó½∩ÑΓß∩. ê¼Ñ¡Ñ¼  ßΓαπ¬Γπ-
  1289.          αδ, ß«ó¼ÑΘÑ¡¿∩ ¿½¿ »ÑαÑτ¿ß½Ñ¡¿∩ ∩ó½∩ÑΓß∩ ΓÑú.
  1290.                é «í"∩ó½Ñ¡¿¿ Γ¿»á ¼«ªÑΓ »«∩ó¿Γ∞ß∩ ß»¿ß«¬ «í"∩ó½Ñ¡¿⌐ φ½Ñ¼Ñ¡-
  1291.          Γ«ó-    <member-declaration-list>    ¿½¿   ß»¿ß«¬   »ÑαÑτ¿ß½Ñ¡¿∩-
  1292.          <enum-list>, «»αÑñѽ∩εΘ¿Ñ Γ¿».
  1293.                æ«¬αáΘÑ¡¡á∩ Σ«α¼á «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐, ó ¬«Γ«α«¼ tag ßßδ-
  1294.          ½áÑΓß∩ ¡á Γ¿», «»αÑñѽѡ¡δ⌐ úñÑ-Γ« ÑΘÑ, »α¿  «í"∩ó½Ñ¡¿¿  Γ¿»á  ¡Ñ
  1295.          ¿ß»«½∞ºπÑΓß∩.
  1296.                Åα¿¼Ñαδ:
  1297.                 
  1298.                 /******************** Example 1 ********************/
  1299.  
  1300.                                       - 62 -
  1301.          
  1302.          
  1303.                 
  1304.                 enum status {
  1305.                         loss = -1,
  1306.                         bye,
  1307.                         tie = 0,
  1308.                         win,
  1309.                         };
  1310.                 
  1311.                 /********************* Example 2 *******************/
  1312.                 
  1313.                 struct student {
  1314.                         char name[20];
  1315.                         int id, claas;
  1316.                         };
  1317.                 
  1318.                é  »Ñαó«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ Γ¿» »ÑαÑτ¿ß½Ñ¡¿∩, »«¿¼Ñ¡«óá¡-
  1319.          ¡δ⌐ status. ê¼∩ Γ¿»á ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡« ó  «í'∩ó½Ñ¡¿∩σ  »Ñα-
  1320.          ¼Ñ¡¡δσ Γ¿»á »ÑαÑτ¿ß½Ñ¡¿∩. êñÑ¡Γ¿Σ¿¬áΓ«α loss ∩ó¡« πßΓá¡áó½¿óáÑΓß∩
  1321.          ó  -1.  êñÑ¡Γ¿Σ¿¬áΓ«αδ  bye ¿ tie áßß«µ¿¿απεΓß∩ ß« º¡áτÑ¡¿Ñ¼ 0, á
  1322.          win »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ 1. é« óΓ«α«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ ßΓαπ¬Γπα-
  1323.          ¡δ⌐ Γ¿», »«¿¼Ñ¡«óá¡¡δ⌐ student. ÆÑ»Ñα∞ ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ΓᬫÑ
  1324.          «í"∩ó½Ñ¡¿Ñ, ¬á¬ struct student employee, τΓ«íδ «í"∩ó¿Γ∞ ßΓαπ¬Γπα-
  1325.          ¡πε »ÑαѼѡ¡πε employee Γ¿»á student.
  1326.                 
  1327.                 
  1328.                 
  1329.                 
  1330.                4.8.2. Äí"∩ó½Ñ¡¿∩ typedef
  1331.                 
  1332.                æ¿¡Γá¬ß¿ß:
  1333.                 
  1334.            typedef <type-spesifier><declarator>[,<declarator>...];
  1335.                 
  1336.                Äí"∩ó½Ñ¡¿∩ typedef ∩ó½∩εΓß∩ á¡á½«ú«¼ «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡«⌐,
  1337.          ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ¬½ετÑó«Ñ ß½«ó« typedef ºá¼Ñ¡∩ÑΓ ß»Ñµ¿Σ¿-
  1338.          ¬áΓ«α ¬½áßßá »á¼∩Γ¿.
  1339.                Äí"∩ó½Ñ¡¿Ñ  ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ΓѼ ªÑ ßá¼δ¼ »πΓѼ, ¬á¬ «í"∩ó-
  1340.          ½Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¿½¿ Σπ¡¬µ¿¿, ¡« <declarator> ó¼ÑßΓ« Γ«ú«,  τΓ«íδ
  1341.          ßΓáΓ∞ »ÑαѼѡ¡«⌐ Γ¿»á, ß»Ñµ¿Σ¿µ¿α«óá¡¡«ú« «í"∩ó½Ñ¡¿Ñ¼, ßΓá¡«ó¿Γß∩
  1342.          ß¿¡«¡¿¼«¼  ¿¼Ñ¡¿  Γ¿»á.  Äí"∩ó½Ñ¡¿Ñ typedef ¡Ñ ß«ºñáÑΓ Γ¿»«ó. Ä¡«
  1343.          ß«ºñáÑΓ ß¿¡«¡¿¼δ ñ½∩ ßπΘÑßΓóπεΘ¿σ ¿¼Ñ¡ Γ¿»«ó, ¬«Γ«αδÑ í뫨 ß»Ñµ¿-
  1344.          Σ¿µ¿α«óá¡δ ñαπú¿¼ ß»«ß«í«¼.  ïεí«⌐  Γ¿»  ¼«ªÑΓ  íδΓ∞  «í"∩ó½Ñ¡  ß
  1345.          typedef,  ó¬½ετá∩ Γ¿»δ π¬áºáΓѽ∩, Σπ¡¬µ¿¿ ¿ ¼áßß¿óá. ê¼∩ ß ¬½ετÑ-
  1346.          óδ¼ ß½«ó«¼ typedef ñ½∩ Γ¿»«ó π¬áºáΓѽ∩, ßΓαπ¬Γπαδ ¿½¿  ß«ó¼ÑΘÑ¡¿∩
  1347.          ¼«ªÑΓ  íδΓ∞  «í"∩ó½Ñ¡« »αѪñÑ τѼ φΓ¿ Γ¿»δ íπñπΓ «»αÑñѽѡδ, ¡« ó
  1348.          »αÑñѽáσ ó¿ñ¿¼«ßΓ¿ «í"∩ó½Ñ¡¿∩.
  1349.                 
  1350.                Åα¿¼Ñαδ:
  1351.                 
  1352.                 /******************** Example 1 ********************/
  1353.                 
  1354.                 typedef int WHOLE;
  1355.                 
  1356.                 
  1357.  
  1358.                                       - 63 -
  1359.          
  1360.                 /******************** Example 2 ********************/
  1361.          
  1362.                 typedef struct club {
  1363.                         char name[30];
  1364.                         int sise, year;
  1365.                         } GROUP;
  1366.                 
  1367.                 /******************** Example 3 ********************/
  1368.                 
  1369.                 typedef GROUP *PG;
  1370.                 
  1371.                 /******************** Example 4 ********************/
  1372.                 
  1373.                 typedef void DRAWE(int, int);
  1374.                 
  1375.                é »Ñαó«¼ »α¿¼ÑαÑ «í"∩ó½∩ÑΓß∩ WHOLE ¬á¬ ß¿¡«¡¿¼ ñ½∩ int .
  1376.                é« óΓ«α«¼ »α¿¼ÑαÑ «í" ∩ó½∩ÑΓß∩ GROUP ¬á¬ ßΓαπ¬Γπα¡δ⌐ Γ¿»  ß
  1377.          ΓαѼ∩  φ½Ñ¼Ñ¡ΓἿ.  Æá¬ ¬á¬ ß»Ñµ¿Σ¿µ¿α«óá¡ ΓᬪѠΓÑú clab, Γ« ¿¼∩
  1378.          GROUP ¿ ΓÑú club ¼«úπ íδΓ∞ ¿ß»«½∞º«óá¡δ ó «í"∩ó½Ñ¡¿∩σ.
  1379.                é  ΓαÑΓ∞Ѽ  »α¿¼ÑαÑ ¿ß»«½∞ºπÑΓß∩ »αÑñ¿ñπΘÑÑ ¿¼∩ typedef ñ½∩
  1380.          «í"∩ó½Ñ¡¿∩ áñαÑß¡«ú« Γ¿»á. Æ¿» PG «í"∩ó½∩ÑΓß∩  ¬á¬  π¬áºáΓѽ∞  ¡á
  1381.          Γ¿» GROUP, ¬«Γ«αδ⌐ ó ßó«ε «τÑαÑñ∞ «»αÑñѽѡ ¬á¬ ßΓαπ¬Γπα¡δ⌐ Γ¿».
  1382.                é  »«ß½Ññ¡Ñ¼  »α¿¼ÑαÑ  »αÑñßΓáó½Ñ¡ Γ¿» DRAWE ñ½∩ Σπ¡¬µ¿¿ ¡Ñ
  1383.          ó«ºóαáΘáεΘÑ⌐ º¡áτÑ¡¿∩ ¿ ΓαÑíπεΘÑ⌐ ñóá áαúπ¼Ñ¡Γá Γ¿»á int. ¥Γ« «º-
  1384.          ¡áτáÑΓ, ¡á»α¿¼Ñα, τΓ« «í"∩ó½Ñ¡¿Ñ DRAWE box; φ¬ó¿óá½Ñ¡Γ¡« «í"∩ó½Ñ-
  1385.          ¡¿ε void box(int, int);
  1386.          
  1387.                
  1388.                4.9. ê¼Ñ¡á Γ¿»«ó
  1389.                
  1390.                ê¼∩ Γ¿»á ß»Ñµ¿Σ¿µ¿απÑΓ «ß«íÑ¡¡«ßΓ¿ Γ¿»á ñá¡¡δσ. ê¼Ñ¡á Γ¿»«ó
  1391.          ¿ß»«½∞ºπεΓß∩ ó ΓαÑ󠬫¡ΓѬßΓáσ: ó ß»¿ß¬áσ Γ¿»«ó  áαúπ¼Ñ¡Γ«ó,  »α¿
  1392.          «í"∩ó½Ñ¡¿¿ Σπ¡¬µ¿⌐, ó óδτ¿ß½Ñ¡¿∩σ cast (»αÑ«íαẫóá¡¿∩σ Γ¿»«ó), ¿
  1393.          ó  sizeof  «»Ñαᵿ∩σ.  æ»¿ß¬¿  Γ¿»«ó áαúπ¼Ñ¡Γ«ó αáßß¼áΓα¿ó὿ß∞ ó
  1394.          αáºñѽѠ4.5. "Äí"∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐". ÅαÑ«íαẫóá¡¿∩ cast ¿ «»Ñαᵿ∩
  1395.          sizeof «íßπªñáεΓß∩ ó αáºñѽáσ  5.7.2.  ¿  5.3.4.  ß««ΓóÑΓßΓóÑ¡¡«.
  1396.          ê¼Ñ¡á¼¿  ñ½∩  «ß¡«ó¡δσ,  »ÑαÑτ¿ß½∩εΘ¿σ, ßΓαπ¬Γπα¡δσ ¿ ß«ó¼ÑΘáεΘ¿σ
  1397.          Γ¿»«ó ∩ó½∩εΓß∩ ß»Ñµ¿Σ¿¬áΓ«αδ Γ¿»á ñ½∩ ¬áªñ«ú« ¿º ¡¿σ.  ê¼Ñ¡á  ñ½∩
  1398.          Γ¿»«ó  π¬áºáΓѽ∩,  ¼áßß¿óá ¿ Σπ¡¬µ¿¿ ºáñáεΓß∩ ß½ÑñπεΘÑ⌐ ß¿¡Γá¬ß¿-
  1399.          τÑ߬«⌐ Σ«α¼«⌐:
  1400.                 
  1401.                 <type-specifier><abstract-declarator>
  1402.                 
  1403.                ÇíßΓαá¬Γ¡δ⌐ ñѬ½áαáΓ«α <abstract-declarator>- φΓ«  ñѬ½áαá-
  1404.          Γ«α íѺ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ß«ßΓ«∩Θ¿⌐ ¿º «ñ¡«ú« ¿½¿ í«½ÑÑ ¼«ñ¿Σ¿¬áΓ«-
  1405.          α«ó  π¬áºáΓѽÑ⌐,  ¼áßß¿ó«ó  ¿  Σπ¡¬µ¿⌐. î«ñ¿Σ¿¬áΓ«α π¬áºáΓѽ∩ (*)
  1406.          óßÑúñá »«∩ó½∩ÑΓß∩ »ÑαÑñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ó ñѬ½áαáΓ«αÑ, ó Γ« óαѼ∩
  1407.          ¬á¬ ¼«ñ¿Σ¿¬áΓ«α ¼áßß¿óá ([]) ¿½¿ Σπ¡¬µ¿¿ ( () ) »«∩ó½∩εΓß∩  »«ß½Ñ
  1408.          ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.  Æá¬¿¼  «íαẫ¼, τΓ«íδ »αáó¿½∞¡« ¿¡ΓÑα»αÑΓ¿α«óáΓ∞
  1409.          áíßΓαá¬Γ¡δ⌐ ñѬ½áαáΓ«α, ¡πª¡« ¡áτ¿¡áΓ∞ ¿¡ΓÑα»αÑΓᵿε ß »«ñαáºπ¼Ñ-
  1410.          óáѼ«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.
  1411.                ÇíßΓαá¬Γ¡δÑ ñѬ½¿αáΓ«αδ ¼«úπΓ  íδΓ∞  ß«ßΓáó¡δ¼¿.  æ¬«í¬¿  ó
  1412.          ß«ßΓáó¡«¼ áíßΓαá¬Γ¡«¼ ñѬ½áαáΓ«αѠ߻ѵ¿Σ¿µ¿απεΓ »«α∩ñ«¬ ¿¡ΓÑα»αÑ-
  1413.          Γᵿ¿,  »«ñ«í¡« Γ«¼π ¬á¬ φΓ« ñѽáÑΓß∩ »α¿ ¿¡ΓÑα»αÑΓᵿ¿ ß«ßΓáó¡δσ
  1414.          ñѬ½áαáΓ«α«ó «í"∩ó½Ñ¡¿⌐.  ÇíßΓαá¬Γ¡δ⌐  ñѬ½áαáΓ«α,  ß«ßΓ«∩Θ¿⌐  ¿º
  1415.          »πßΓδσ  ¬απú½δσ  ß¬«í«¬ () ¡Ñ ñ«»π߬áÑΓß∩, »«ß¬«½∞¬π φΓ« ñóπß¼δß-
  1416.          ½Ñ¡¡«. é φΓ«¼ ß½πτáÑ ¡Ñ󫺼«ª¡« «»αÑñѽ¿Γ∞ ¡áσ«ñ¿Γß∩ ½¿  »«ñαáºπ-
  1417.  
  1418.                                       - 64 -
  1419.          
  1420.          
  1421.          ¼ÑóáѼδ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ó¡πΓα¿ ß¬«í«¬, ¿ ó Γᬫ¼ ß½πτáÑ- φΓ« ¡Ñ¼«-
  1422.          ñ¿Σ¿µ¿α«óá¡¡δ⌐  Γ¿»,  ¿½¿ »ÑαÑñ ß¬«í¬á¼¿, Γ«úñá- φΓ« Γ¿» Σπ¡¬µ¿¿.
  1423.          æ»Ñµ¿Σ¿¬áΓ«αδ Γ¿»á, πßΓá¡«ó½Ñ¡¡δÑ »«ßαÑñßΓó«¼ «í"∩ó½Ñ¡¿⌐ typedef,
  1424.          ΓᬪѠαáßß¼áΓα¿óáεΓß∩ ¬á¬ ¿¼Ñ¡á Γ¿»«ó.
  1425.                Åα¿¼Ñαδ:
  1426.                 
  1427.                long *                    /* Example 1 */
  1428.                 
  1429.                int (*) [5]               /* Example 2 */
  1430.                 
  1431.                int (*) (void)            /* Example 3 */
  1432.                 
  1433.                é »Ñαó«¼ »α¿¼ÑαÑ ºáñá¡« ¿¼∩ Γ¿»á ¬á¬ π¬áºáΓѽ∞ ¡á Γ¿» long.
  1434.                é« óΓ«α«¼ ¿ ΓαÑΓ∞Ѽ »α¿¼Ñαáσ »«¬áºá¡« ¬á¬¿¼ «íαẫ¼  ß¬«í¬¿
  1435.          ¼«ñ¿Σ¿µ¿απεΓ ß«ßΓáó¡δÑ áíßΓαá¬Γ¡δÑ ñѬ½áαáΓ«αδ. é »α¿¼ÑαÑ 2 ºáñá-
  1436.          ¡«  ¿¼∩ Γ¿»á ñ½∩ π¬áºáΓѽ∩ ¡á ¼áßß¿ó ¿φ »∩Γ¿ º½Ñ¼Ñ¡Γ«ó. é ΓαÑΓ∞Ѽ
  1437.          »α¿¼ÑαÑ ¿¼Ñ¡πÑΓß∩ π¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε, ¡Ñ ΓαÑíπεΘπε áαúπ¼Ñ¡Γ«ó ¿
  1438.          ó«ºóαáΘáεΘπε º¡áτÑ¡¿Ñ Γ¿»á int.
  1439.