home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-04-27 | 96.0 KB | 2,003 lines |
- - 96 -
-
-
- 6. ÄÅàÉÇÆÄÉ¢
-
-
-
- 6.1. éóÑñÑ¡¿Ñ
-
- Ä»ÑαáΓ«αδ æ¿ π»αáó½∩εΓ »α«µÑßß«¼ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. é
- æ¿, ¬á¬ ¿ ó ñαπú¿σ ∩ºδ¬áσ »α«úαá¼¼¿α«óá¡¿∩, ¿¼ÑεΓß∩ πß½«ó¡δÑ «»Ñ-
- αáΓ«αδ, «»ÑαáΓ«αδ µ¿¬½á, óδí«αá, »ÑαÑñáτ¿ π»αáó½Ñ¡¿∩ ¿ Γ.ñ. é
- φΓ«¼ αáºñÑ½Ñ «»¿ßδóáεΓß∩ «»ÑαáΓ«αδ æ¿ ó á½Σáó¿Γ¡«¼ »«α∩ñ¬Ñ. 쿪Ñ
- »αÑñßΓáó½Ñ¡ ß»¿ß«¬ φΓ¿σ «»ÑαáΓ«α«ó:
- break
- <compound>
- continue
- do
- <expression>
- for
- goto
- if
- <null>
- return
- switch
- while
-
- Ä»ÑαáΓ«αδ æ¿ ß«ßΓ«∩Γ ¿º ¬½ετÑóδσ ß½«ó, óδαáªÑ¡¿⌐ ¿ ñαπú¿σ
- «»ÑαáΓ«α«ó. é «»ÑαáΓ«αáσ æ¿ ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ¬½ετÑóδÑ ß½«óá:
-
- break
- default
- for
- return
- case
- d«
- goto
- switch
- continue
- else
- if
- while
-
- éδαáªÑ¡¿∩¼¿ ó «»ÑαáΓ«αáσ æ¿ ∩ó½∩εΓß∩ óδαáªÑ¡¿∩, «»¿ßá¡¡δÑ ó
- αáºñÑ½Ñ 5 "éδαáªÑ¡¿∩ ¿ »α¿ßóá¿óá¡¿∩". Ä»ÑαáΓ«αἿ, ñ«»πßΓ¿¼δ¼¿
- ó¡πΓα¿ «»ÑαáΓ«α«ó æ¿, ¼«úπΓ íδΓ∞ ½εíδÑ «»ÑαáΓ«αδ, «»¿ßá¡¡δÑ ó
- φΓ«¼ αáºñѽÑ. Ä»ÑαáΓ«α, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ ¬«¼»«¡Ñ¡Γ«¼ ñαπú«ú« «»Ñ-
- αáΓ«αá, ¡áºδóáÑΓß∩ "Γѽ«¼" ó¬½ετáεΘÑú« «»ÑαáΓ«αá.ùáßΓ« «»Ñαá-
- Γ«α-Γѽ« ∩ó½∩ÑΓß∩ ß«ßΓáó¡δ¼ «»ÑαáΓ«α«¼, ß«ßΓ«∩Θ¿¼ ¿º «ñ¡«ú« ¿½¿
- í«½ÑÑ «»ÑαáΓ«α«ó. æ«ßΓáó¡«⌐ «»ÑαáΓ«α «úαá¡¿τ¿óáÑΓß∩ Σ¿úπα¡δ¼¿
- ߬«í¬á¼¿. éßÑ ñαπú¿Ñ «»ÑαáΓ«αδ æ¿ ºá¬á¡τ¿óáεΓß∩ Γ«τ¬«⌐ ß ºá»∩Γ«⌐
- (;).
- ïεí«⌐ ¿º «»ÑαáΓ«α«ó æ¿ ¼«ªÑΓ íδΓ∞ ß»ÑαÑñ¿ »«¼ÑτÑ¡ ¼ÑΓ¬«⌐,
- ß«ßΓ«∩ΘÑ⌐ ¿º ¿¼Ñ¡¿ ¿ ñó«ÑΓ«τ¿∩. Ä»ÑαáΓ«α¡δÑ ¼ÑΓ¬¿ «»«º¡áεΓß∩
- Γ«½∞¬« «»ÑαáΓ«α«¼ goto ¿ »«φΓ«¼π αáßß¼áΓα¿óáεΓß∩ ó αáºñÑ½Ñ 6.8
- "goto ¿ »«¼ÑτÑ¡¡δÑ «»ÑαáΓ«αδ".
- Å«α∩ñ«¬ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ æ¿ ß«ó»áñáÑΓ ß »«α∩ñ¬«¼ αáß»«-
- ½«ªÑ¡¿∩ «»ÑαáΓ«α«ó ó ΓѬßΓÑ »α«úαá¼¼δ, ºá ¿ß¬½ετÑ¡¿Ñ¼ ΓÑσ ß½πτá-
-
- - 97 -
-
-
- Ñó, ¬«úñá «»ÑαáΓ«α ∩ó¡« »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ó ñαπúπε τáßΓ∞ »α«ú-
- αá¼¼ .
-
- 6.2. Ä»ÑαáΓ«α break
-
-
- æ¿¡Γá¬ß¿ß:
- breakk;
-
- éδ»«½¡Ñ¡¿Ñ:
- Ä»ÑαáΓ«α break »αÑαδóáÑΓ óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«α«ó do, for,
- switch ¿½¿ while, ó ¬«Γ«αδσ «¡ »«∩ó½∩ÑΓß∩. ô»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩
- «»ÑαáΓ«απ, ß½ÑñπεΘѼπ ºá »αÑαóá¡¡δ¼. Å«∩ó½Ñ¡¿Ñ «»ÑαáΓ«αá break
- ó¡Ñ «»ÑαáΓ«α«ó do, for, switch, while »α¿ó«ñ¿Γ ¬ «Φ¿í¬Ñ.
- é¡πΓα¿ ó½«ªÑ¡¡δσ «»ÑαáΓ«α«ó «»ÑαáΓ«α break ºáóÑαΦáÑΓ Γ«½∞¬«
- «»ÑαáΓ«αδ do, for, switch ¿½¿ while. ùΓ«íδ »ÑαÑñáΓ∞ π»αáó½Ñ¡¿Ñ
- ó¡Ñ 󽫪ѡ¡«⌐ ßΓαπ¬Γπαδ, ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ «»ÑαáΓ«αδ return
- ¿ goto.
-
- Åα¿¼Ñα
- for (i=0; i<LENGTH-1;i++) {
- for (j=0;j<WIDTH-1;j++) {
- if (lines [i][j] == '\0') {
- length [i[=j;
- break;
- }
- }
- }
-
- é óδΦÑ»α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ »«ßΓα«τ¡« «íαáíáΓδóáÑΓß∩ ¼áßß¿ó
- lines »ÑαѼѡ¡«-ñ½¿¡¡δσ ßΓ᫬. Ä»ÑαáΓ«α break »αÑαδóáÑΓ óδ»«½¡Ñ-
- ¡¿Ñ ó¡πΓαÑ¡¡Ñú« «»ÑαáΓ«αá for »«ß½Ñ Γ«ú«, ¬á¬ ¡á⌐ñÑ¡ ß¿¼ó«½ ¬«¡µá
- ßΓ᫬¿ (\0). Åα¿ φΓ«¼ φ½Ñ¼Ñ¡Γπ length [i] «ñ¡«¼Ñα¡«ú« ¼áßß¿óá »α¿ß-
- óá¿óáÑΓß∩ ñ½¿¡á ó íá⌐Γáσ i-«⌐ ßΓ᫬¿. ô»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ó¡ÑΦ-
- ¡Ñ¼π «»ÑαáΓ«απ for. ÅÑαѼѡ¡á∩ i ¿¡¬αÑ¼Ñ¡Γ¿απÑΓß∩ ¿ »α«µÑßß »«ó-
- Γ«α∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á º¡áτÑ¡¿Ñ i ¡Ñ ßΓá¡ÑΓ í«½∞ΦÑ ¿½¿ αáó¡«
- ¬«¡ßΓá¡ΓÑ LENGTH-1.
-
-
- 6.3. æ«ßΓáó¡«⌐ «»ÑαáΓ«α
-
- æ¿¡Γá¬ß¿ß:
-
- {
- [<declaration>]
- .
- .
- .
- <statement>
-
- [<statement>]
- .
- .
- .
- }
-
- - 98 -
-
-
-
- éδ»«½¡Ñ¡¿Ñ:
- äÑ⌐ßΓó¿∩ »α¿ óδ»«½¡Ñ¡¿¿ ß«ßΓáó¡«ú« «»ÑαáΓ«αá ß«ßΓ«∩Γ ó Γ«¼,
- τΓ« óδ»«½¡Ñ¡¿Ñ Ñú« «»ÑαáΓ«α«ó «ßπΘÑßΓó½∩ÑΓß∩ ó »«α∩ñ¬Ñ ¿σ »«∩ó½Ñ-
- ¡¿∩, ºá ¿ß¬½ετÑ¡¿Ñ¼ ß½πτáÑó, ¬«úñá «τÑαÑñ¡«⌐ «»ÑαáΓ«α ∩ó¡« »ÑαÑ-
- ñáÑΓ π»αáó½Ñ¡¿Ñ ó ñαπú«Ñ ¼ÑßΓ«.
- æ¿¡Γá¬ß¿τÑ߬¿Ñ »αáó¿½á ¿ ßѼá¡Γ¿¬á «í"∩ó½Ñ¡¿⌐ -
- <declaration>, ¬«Γ«αδÑ ¼«úπΓ »«∩ó¿Γ∞ß∩ ó ºáú«½«ó¬Ñ ß«ßΓáó¡«ú«
- «»ÑαáΓ«αá, «»¿ßá¡δ ó αáºñÑ½Ñ 4 "Äí"∩ó½Ñ¡¿∩".
-
- Åα¿¼Ñα
- if (i>0) {
- linne [i]=x;
- x++;
- i--;
- }
-
- Æ¿»¿τ¡« »«∩ó½Ñ¡¿Ñ ß«ßΓáó¡«ú« «»ÑαáΓ«αá ó ¬áτÑßΓóÑ Γѽá ñαπ-
- ú«ú« «»ÑαáΓ«αá, ¡á»α¿¼Ñα, Γᬫú«, ¬á¬ «»ÑαáΓ«α if. é »α¿óÑñÑ¡¡«¼
- »α¿¼ÑαÑ, Ñß½¿ i í«½∞ΦÑ ¡π½∩, Γ« »«ß½Ññ«óáΓѽ∞¡« óδ»«½¡∩εΓß∩ «»Ñ-
- αáΓαδ ß«ßΓáó¡«ú« «»ÑαáΓ«αá.
-
- Å«¼ÑτÑ¡¡δÑ «»ÑαáΓ«αδ
-
- Å«ñ«í¡« ñαπú¿¼ «»ÑαáΓ«αá¼ æ¿, ½εí«⌐ «»ÑαáΓ«α ó ß«ßΓáó¡«¼
- «»ÑαáΓ«αÑ ¼«ªÑΓ íδΓ∞ »«¼ÑτÑ¡. Å«φΓ«¼π »ÑαÑñáτá π»αáó½Ñ¡¿∩ ó¡πΓα∞
- ß«ßΓáó¡«ú« «»ÑαáΓ«αá 󫺼«ª¡á. Äñ¡á¬«, »ÑαÑñáτ¿ π»αáó½Ñ¡¿∩ ó¡πΓα∞
- ß«ßΓáó¡«ú« «»ÑαáΓ«αá «»áß¡δ, ¬«úñá ß«ßΓáó¡«⌐ «»ÑαáΓ«α ß«ñÑনΓ
- «í"∩ó½Ñ¡¿∩, ¬«Γ«αδÑ ¿¡¿µ¿á½¿º¿απεΓ »ÑαѼѡ¡δÑ. Äí"∩ó½Ñ¡¿∩ ó
- ß«ßΓáó¡«¼ «»ÑαáΓ«αÑ »αÑñΦÑßΓóπεΓ óδ»«½¡∩Ñ¼δ¼ «»ÑαáΓ«αá¼, ΓᬠτΓ«
- »ÑαÑñáτá π»αáó½Ñ¡¿∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡á óδ»«½¡∩Ѽδ⌐ «»ÑαáΓ«α
- ó¡πΓα¿ ß«ßΓáó¡«ú« «»ÑαáΓ«αá ¼¿¡πÑΓ ¿¡¿µ¿á½¿ºáµ¿ε. ÉѺπ½∞ΓáΓ íπñÑΓ
- ¡Ñ»αÑñ߬áºπѼ.
-
-
- 6.4. Ä»ÑαáΓ«α continue
-
- æ¿¡Γá¬ß¿ß:
-
- continue;
-
- éδ»«½¡Ñ¡¿Ñ:
- Ä»ÑαáΓ«α c«ntinue »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ¡á ß½ÑñπεΘπε ¿ΓÑαᵿε
- ó «»ÑαáΓoαáσ µ¿¬½á do, for, while, ó ¬«Γ«αδσ «¡ ¼«ªÑΓ »«∩ó¿Γ∞ß∩.
- ÄßΓáóΦ¿Ñß∩ «»ÑαáΓ«αδ ó ΓÑ½Ñ óδΦÑ»ÑαÑτ¿ß½Ñ¡¡δσ µ¿¬½«ó »α¿ φΓ«¼
- ¡Ñ óδ»«½¡∩εΓß∩. é¡πΓα¿ do ¿½¿ while µ¿¬½«ó ß½ÑñπεΘá∩ ¿ΓÑαᵿ∩ ¡á-
- τ¿¡áÑΓß∩ ß »ÑαÑóδτ¿ß½Ñ¡¿∩ óδαáªÑ¡¿∩ do ¿½¿ while «»ÑαáΓ«α«ó. ä½∩
- «»ÑαáΓ«αá for ß½ÑñπεΘá∩ ¿ΓÑαᵿ∩ ¡áτ¿¡áÑΓß∩ ß óδαáªÑ¡¿∩ µ¿¬½á
- «»ÑαáΓ«αá for.
-
- Åα¿¼Ñα:
- while (i-->0) {
- x=f(i);
- if (x==1)
- continue;
-
- - 99 -
-
-
- y=x*x;
- }
-
- ÆÑ½« «»ÑαáΓ«αá óδ»«½¡∩ÑΓß∩ , Ñß½¿ i>0. æ¡áτá½á f(i) »α¿ßóá-
- ¿óáÑΓß∩ x, ºáΓѼ, Ñß½¿ x αáó¡« 1, Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α
- continue. ÄßΓá½∞¡δÑ «»ÑαáΓ«αδ ΓÑ½á ¿ú¡«α¿απεΓß∩ ¿ óδ»«½¡Ñ¡¿Ñ ó«-
- º«í¡«ó½∩ÑΓß∩ ß ºáú«½«ó¬á µ¿¬½á, Γ.Ñ. óδτ¿ß½∩ÑΓß∩ óδαáªÑ¡¿Ñ i-->0.
-
-
- 6.5. Ä»ÑαáΓ«α do
-
- æ¿¡Γá¬ß¿ß:
- do
- <statement>
- while (<expression>);
-
- éδ»«½¡Ñ¡¿Ñ:
- ÆÑ½« «»ÑαáΓ«αá do óδ»«½¡∩ÑΓß∩ «ñ¿¡ ¿½¿ ¡Ñ߬«½∞¬« αẠñ« ΓÑσ
- »«α, »«¬á óδαáªÑ¡¿Ñ <expression> ßΓá¡ÑΓ ½«ª¡δ¼ (αáó¡δ¼ ¡π½ε).
- é¡áτá½Ñ óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α <statement> Γѽá, ºáΓѼ óδτ¿ß½∩ÑΓß∩
- óδαáªÑ¡¿Ñ <expression>. àß½¿ óδαáªÑ¡¿Ñ ½«ª¡«, Γ« «»ÑαáΓ«α do ºá-
- óÑαΦáÑΓß∩ ¿ π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ß½ÑñπεΘÑ¼π «»ÑαáΓ«απ ó »α«úαá¼-
- ¼Ñ. àß½¿ óδαáªÑ¡¿Ñ ¿ßΓ¿¡¡« (¡Ñ αáó¡« ¡π½ε), Γ« Γѽ« «»ÑαáΓ«αá
- óδ»«½¡∩ÑΓß∩ ß¡«óá ¿ ß¡«óá »α«óÑα∩ÑΓß∩ óδαáªÑ¡¿Ñ. éδ»«½¡Ñ¡¿Ñ Γѽá
- «»ÑαáΓ«αá »α«ñ«½ªáÑΓß∩ ñ« ΓÑσ »«α, »«¬á óδαáªÑ¡¿Ñ ¡Ñ ßΓá¡ÑΓ
- ½«ª¡δ¼. Ä»ÑαáΓ«α do ¼«ªÑΓ Γá¬ªÑ ºáóÑαΦ¿Γ∞ óδ»«½¡Ñ¡¿Ñ »α¿ óδ»«½¡Ñ-
- ¡¿¿ «»ÑαáΓ«α«ó break, goto ¿½¿ return ó¡πΓα¿ ΓÑ½á «»ÑαáΓ«αá do.
-
- Åα¿¼Ñα:
- do {
- y=f(x);
- x--;
- } while (x>0);
-
- é¡áτá½Ñ óδ»«½¡∩εΓß∩ ñóá «»ÑαáΓ«αá y=f(x); ¿ x--; ¡Ñ «íαáΘá∩
- ó¡¿¼á¡¿Ñ ¡á ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ x. çáΓѼ óδτ¿ß½∩ÑΓß∩ óδαáªÑ¡¿Ñ
- x>0. àß½¿ x>0, Γ« Γѽ« «»ÑαáΓ«αá óδ»«½¡∩ÑΓß∩ ß¡«óá, ¿ ß¡«óá »ÑαÑ-
- óδτ¿ß½∩ÑΓß∩ óδαáªÑ¡¿Ñ x>0. ÆÑ½« «»ÑαáΓ«αá óδ»«½¡∩ÑΓß∩ ñ« ΓÑσ »«α,
- »«¬á x ¡Ñ ßΓá¡ÑΓ ¼Ñ¡∞ΦÑ ¿½¿ αáó¡δ¼ ¡π½ε.
-
-
- 6.6. Ä»ÑαáΓ«α-óδαáªÑ¡¿Ñ
-
- æ¿¡Γá¬ß¿ß:
-
- expression;
-
- éδ»«½¡Ñ¡¿Ñ:
- éδαáªÑ¡¿Ñ <expression> óδτ¿ß½∩ÑΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß »αáó¿-
- ½á¼¿, ¿º½«ªÑ¡¡δ¼¿ ó αáºñÑ½Ñ 5 "éδαáªÑ¡¿∩ ¿ »α¿ßóá¿óá¡¿∩".
-
- Åα¿¼Ñαδ
- x=(y+3); / *example 1* /
- x++; / *example 2* /
- f(x); / *example 3* /
-
- - 100 -
-
-
-
- é æ¿ »α¿ßóá¿óá¡¿∩ ∩ó½∩εΓß∩ óδαáªÑ¡¿∩¼¿. ç¡áτÑ¡¿Ñ¼ óδαáªÑ¡¿∩
- ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ »α¿ßóá¿óáÑΓß∩ (Γᬠ¡áºδóáѼ«Ñ
- "»αáó«-ßΓ«α«¡ÑÑ º¡áτÑ¡¿Ñ").
- é »Ñαó«¼ »α¿¼ÑαÑ x »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ y+3.
- é« óΓ«α«¼ »α¿¼ÑαÑ x ¿¡¬αÑ¼Ñ¡Γ¿απÑΓß∩.
- é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ »«¬áºá¡« óδαáªÑ¡¿Ñ Σπ¡¬µ¿«¡á½∞¡«ú« ó맮-
- óá.ç¡áτÑ¡¿Ñ¼ óδαáªÑ¡¿∩ ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐.
- àß½¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ, Γ« «íδτ¡« «»ÑαáΓ«α-óδαáªÑ¡¿Ñ
- ß«ñÑαª¿Γ «»Ñαáµ¿ε »α¿ßóá¿óá¡¿∩, τΓ«íδ ºá»«¼¡¿Γ∞ º¡áτÑ¡¿Ñ ó«ºóαáΓá
- óδºóá¡¡«⌐ Σπ¡¬µ¿¿. àß¿ ó«ºóαáΘáѼá∩ óѽ¿τ¿¡á ¡Ñ ¿ß»«½∞ºπÑΓß∩, ¬á¬
- ó ñá¡¡«¼ »α¿¼ÑαÑ, ó맮ó Σπ¡¬µ¿¿ óδ»«½¡∩ÑΓß∩, ¡« ó«ºóαáΘáѼá∩ óÑ-
- ½¿τ¿¡á (Ñß½¿ «¡á ÑßΓ∞) ¡Ñ ¿ß»«½∞ºπÑΓß∩.
-
-
- 6.7. Ä»ÑαáΓ«α for
-
- æ¿¡Γá¬ß¿ß:
-
- for ([<init-expression>];[<cond-expression>];[<loop-exp>])
- statement
-
- ÆÑ½« «»ÑαáΓ«αá for óδ»«½¡∩ÑΓß∩ ¡π½∞ ¿ í«½ÑÑ αáº, ñ« ΓÑσ
- »«α, »«¬á πß½«ó¡«Ñ óδαáªÑ¡¿Ñ <cond-expression> ¡Ñ ßΓá¡ÑΓ ½«ª¡δ¼.
- éδαáªÑ¡¿∩ ¿¡¿µ¿á½¿ºáµ¿¿ <init-expression> ¿ µ¿¬½á
- <loop-expression> ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¿ ¼«-
- ñ¿Σ¿¬áµ¿¿ óѽ¿τ¿¡ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«αá for.
- ÅÑαóδ¼ Φáú«¼ »α¿ óδ»«½¡Ñ¡¿¿ «»ÑαáΓ«αá for ∩ó½∩ÑΓß∩ óδτ¿ß½Ñ-
- ¡¿Ñ óδαáªÑ¡¿∩ ¿¡¿µ¿á½¿ºáµ¿¿, Ñß½¿ «¡« ¿¼ÑÑΓß∩. çáΓѼ óδτ¿ß½Ñ¡¿Ñ
- πß½«ó¡«ú« óδαáªÑ¡¿∩ ß ΓαѼ∩ 󫺼«ª¡δ¼¿ αѺπ½∞ΓáΓἿ:
- 1. àß½¿ πß½«ó¡«Ñ óδαáªÑ¡¿Ñ ¿ßΓ¿¡¡« (¡Ñ αáó¡« ¡π½ε), Γ«
- óδ»«½¡∩ÑΓß∩ Γѽ« «»ÑαáΓ«αá. çáΓѼ óδτ¿ß½∩ÑΓß∩ óδαáªÑ¡¿Ñ µ¿¬½á
- (Ñß½¿ «¡« ÑßΓ∞). Åα«µÑßß »«óΓ«α∩ÑΓß∩ ß¡«óá ß óδτ¿ß½Ñ¡¿Ñ¼ πß½«ó¡«-
- ú« óδαáªÑ¡¿∩.
- 2. àß½¿ πß½«ó¡«Ñ óδαáªÑ¡¿Ñ «»πΘÑ¡«, Γ« Ñú« º¡áτÑ¡¿Ñ »α¿¡¿-
- ¼áÑΓß∩ ºá ¿ßΓ¿¡π ¿ »α«µÑßß óδ»«½¡Ñ¡¿∩ »α«ñ«½ªáÑΓß∩, ¬á¬ »«¬áºá¡«
- óδΦÑ. é φΓ«¼ ß½πτáÑ «»ÑαáΓ«α for ¼«ªÑΓ ºáóÑαΦ¿Γ∞ß∩ Γ«½∞¬« »α¿
- óδ»«½¡Ñ¡¿¿ ó ΓÑ½Ñ «»ÑαáΓ«αá «»ÑαáΓ«α«ó break, goto, return.
- 3. àß¿ πß½«ó¡«Ñ óδαáªÑ¡¿Ñ ½«ª¡«, Γ« óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá
- for ºá¬á¡τ¿óáÑΓß∩ ¿ π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ß½ÑñπεΘÑ¼π «»ÑαáΓ«απ ó
- »α«úαá¼¼Ñ.
- Ä»ÑαáΓ«α for ¼«ªÑΓ ºáóÑαΦ¿Γ∞ß∩ »α¿ óδ»«½¡Ñ¡¿¿ «»ÑαáΓ«α«ó
- break, return, goto ó ΓÑ½Ñ «»ÑαáΓ«αá.
-
- Åα¿¼Ñα
- for (i=space=tab=0; i<MAX; i++) {
- if (line [i] == '\x20')
- space++;
- if (line [i] == '\t') {
- tab++;
- line [i] = '\x20';
- }
- }
-
- é »α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ »«ñßτ¿ΓδóáεΓß∩ ß¿¼ó«½δ »α«íѽ«ó
-
- - 101 -
-
-
- ('\x20') ¿ Γáíπ½∩µ¿⌐ ('\t') ó ¼áßß¿óÑ ß¿¼ó«½«ó, »«¿¼Ñ¡«óá¡¡«¼
- line, ¿ ºá¼Ñ¡á ¬áªñ«ú« ß¿¼ó«½á Γáíπ½∩µ¿¿ ¡á »α«íѽ.
- æ¡áτá½á i, space ¿ tab ¿¡¿µ¿á½¿º¿απεΓß∩ ¡π½Ñ¼. çáΓѼ i
- ßαáó¡¿óáÑΓß∩ ß ¬«¡ßΓá¡Γ«⌐ MAX. àß½¿ i ¼Ñ¡∞ΦÑ MAX, Γ« óδ»«½¡∩ÑΓß∩
- Γѽ« «»ÑαáΓ«αá. é ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ line [i], óδ»«½¡∩εΓß∩
- «»ÑαáΓ«αδ if.
- çáΓѼ »ÑαѼѡ¡á∩ i ¿¡¬αÑ¼Ñ¡Γ¿απÑΓß∩ ¿ ß¡«óá ßαáó¡¿óáÑΓß∩ ß
- ¬«¡ßΓá¡Γ«⌐ MAX. ÆÑ½« «»ÑαáΓ«αá óδ»«½¡∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á º¡á-
- τÑ¡¿Ñ i ¡Ñ ßΓá¡ÑΓ í«½∞ΦÑ ¿½¿ αáó¡« MAX.
-
- 6.8. GOTO ¿ »«¼ÑτÑ¡¡δÑ «»ÑαáΓ«αδ
-
- æ¿¡Γá¬ß¿ß:
-
- goto <name>;
- .
- .
- .
- <name>: <statement>
-
- éδ»«½¡Ñ¡¿Ñ:
-
- Ä»ÑαáΓ«α goto »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡á «»Ñαá-
- Γ«α, »«¼ÑτÑ¡¡δ⌐ <name>. Å«¼ÑτÑ¡¡δ⌐ «»ÑαáΓ«α óδ»«½¡∩ÑΓß∩ ßαáºπ
- »«ß½Ñ óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«αá goto. àß½¿ «»ÑαáΓ«α ß ñá¡¡«⌐ ¼ÑΓ¬«⌐
- «ΓßπΓßΓóπÑΓ ¿½¿ ßπΘÑßΓóπÑΓ í«½ÑÑ «ñ¡«ú« «»ÑαáΓ«αá, »«¼ÑτÑ¡¡δσ «ñ-
- ¡«⌐ ¿ Γ«⌐ ªÑ ¼ÑΓ¬«⌐, Γ« φΓ« »α¿ó«ñ¿Γ ¬ «Φ¿í«τ¡«¼π αѺπ½∞ΓáΓπ.
- îÑΓ¬á «»ÑαáΓ«αá ¿¼ÑÑΓ «Γ¡«ΦÑ¡¿Ñ Γ«½∞¬« ¬ «»ÑαáΓ«απ goto. àß½¿ »«-
- ¼ÑτÑ¡¡δ⌐ «»ÑαáΓ«α óßΓαÑτáÑΓß∩ ó ½εí«¼ ñαπú«¼ ¬«¡ΓѬßΓÑ, Γ« «¡ óδ-
- »«½¡∩ÑΓß∩ íѺ πτÑΓá ¼ÑΓ¬¿.
-
- Åα¿¼Ñα
- if (errorcode>0)
- goto exit;
- .
- .
- .
- exit:return (errorcode);
-
- é »α¿¼ÑαÑ «»ÑαáΓ«α goto »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ¡á «»ÑαáΓ«α,
- »«¼ÑτÑ¡¡δ⌐ ¼ÑΓ¬«⌐ exit, ¬«úñá »α«¿ßσ«ñ¿Γ «Φ¿í¬á.
-
- ö«α¼áΓ ¼ÑΓ«¬
-
- îÑΓ¬á - φΓ« »α«ßΓ«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ß¿¡Γá¬ß¿ß ¬«Γ«α«ú«
- «»¿ßá¡ ó αáºñÑ½Ñ 2.4. èáªñá∩ ¼ÑΓ¬á ñ«½ª¡á íδΓ∞ «Γ½¿τ¡á «Γ ñαπú¿σ
- ¼ÑΓ«¬ ó Γ«⌐ ªÑ ßἫ⌐ Σπ¡¬µ¿¿.
-
- 6.9. Ä»ÑαáΓ«α if
-
- æ¿¡Γá¬ß¿ß:
-
- if (<expression>)
- <statement 1>
- [else
-
- - 102 -
-
-
- <statement 2>]
-
- éδ»«½¡Ñ¡¿Ñ:
- ÆÑ½« «»ÑαáΓ«αá if óδ»«½¡∩ÑΓß∩ ßÑ½Ñ¬Γ¿ó¡«, ó ºáó¿ß¿¼«ßΓ¿ «Γ
- º¡áτÑ¡¿∩ óδαáªÑ¡¿∩ <expression>. æ¡áτá½á óδτ¿ß½∩ÑΓß∩ óδαáªÑ¡¿Ñ.
- àß½¿ º¡áτÑ¡¿Ñ óδαáªÑ¡¿∩ ¿ßΓ¿¡á (¡Ñ ¡π½∞), Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α
- <statement 1>. àß½¿ óδαáªÑ¡¿Ñ ½«ª¡«, Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α
- <statement 2>, ¡Ñ»«ßαÑñßΓóÑ¡¡« ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«ó«¼ else.
- àß½¿ óδαáªÑ¡¿Ñ <expression> ½«ª¡« ¿ »αÑñ½«ªÑ¡¿Ñ else ... «»πΘÑ¡«,
- Γ« π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¡á óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá, ß½ÑñπεΘÑú« ºá
- «»ÑαáΓ«α«¼ if.
-
- Åα¿¼Ñα
- if (i>0)
- y=x/i;
-
- else {
- x=i;
- y=f(x);
- }
-
- é »α¿¼ÑαÑ óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α y=x/i;, Ñß½¿ i í«½∞ΦÑ ¡π½∩.
- àß½¿ i ¼Ñ¡∞ΦÑ ¿½¿ αáó¡« ¡π½ε, Γ« º¡áτÑ¡¿Ñ i »α¿ßóá¿óáÑΓß∩
- »ÑαѼѡ¡«⌐ x ¿ ó«ºóαáΓ Σπ¡¬µ¿¿ f(x) »α¿ßóá¿óáÑΓß∩ »ÑαѼѡ¡«⌐ y.
-
- 齫ªÑ¡¿∩
-
- æ¿ ¡Ñ »«ññÑনóáÑΓ «»ÑαáΓ«α "else if", ¡« ëà ªÑ ßá¼δ⌐
- φΣΣÑ¬Γ ñ«ßΓ¿úáÑΓß∩ »«ßαÑñßΓó«¼ ß½«ªÑ¡¡δσ «»ÑαáΓ«α«ó if. Ä»ÑαáΓ«α
- if ¼«ªÑΓ íδΓ∞ 󽫪ѡ ó »αÑñ½«ªÑ¡¿Ñ if ¿½¿ »αÑñ½«ªÑ¡¿Ñ else ñαπú«-
- ú« «»ÑαáΓ«αá if. è«úñá «»ÑαáΓ«αδ if ó¬½áñδóáεΓß∩, Γ« ¿ß»«½∞ºπεΓß∩
- Σ¿úπα¡δÑ ß¬«í¬¿, τΓ«íδ ßúαπ»»¿α«óáΓ∞ ß«ßΓáó¡δÑ «»ÑαáΓ«αδ, ¬«Γ«αδÑ
- »α«∩ß¡∩εΓ ß¿Γπᵿε.
- àß½¿ Σ¿úπα¡δÑ ß¬«í¬¿ «ΓßπΓßΓóπεΓ, Γ« ¬«¼»¿½∩Γ«α ¼«ªÑΓ
- »α¿¡∩Γ∞ ¡ÑóÑα¡«Ñ αÑΦÑ¡¿Ñ, ß«τÑΓá∩ ¬áªñ«Ñ else ß í«½ÑÑ í½¿º¬¿¼ if,
- 𠬫ëα«ú« «ΓßπΓßóπÑΓ else.
-
- Åα¿¼Ñαδ
-
- /****** example 1 ******/
- if (i>0) /* without braces */
- if (j>i)
- x=j;
- else
- x=i;
-
- /****** example 2 ******/
- if (i>0) { /* with braces */
- if (j>1)
- x=j;
- }
- else
- x=i;
-
- é »Ñαó«¼ »α¿¼ÑαÑ else áßß«µ¿¿απÑΓß∩ ß ó¡πΓαÑ¡¡¿¼ «»ÑαáΓ«α«¼
-
- - 103 -
-
-
- if. àß½¿ i ¼Ñ¡∞ΦÑ ¿½¿ αáó¡« 0, Γ« ¡ÑΓ º¡áτÑ¡¿∩, ¬«Γ«α«Ñ »α¿ßóá¿-
- óáÑΓß∩ x.
- é« óΓ«α«¼ »α¿¼ÑαÑ Σ¿úπα¡δÑ ß¬«í¬¿ «úαá¡¿τ¿óáεΓ ó¡πΓαÑ¡¡¿⌐
- «»ÑαáΓ«α if ¿ ΓѼ ßá¼δ¼ ñѽáεΓ »αÑñ½«ªÑ¡¿Ñ else τáßΓ∞ε ó¡ÑΦ¡Ñú«
- «»ÑαáΓ«αá if. àß½¿ i ¼Ñ¡∞ΦÑ ¿½¿ αáó¡« ¡π½ε, Γ« º¡áτÑ¡¿Ñ i »α¿ßóá-
- ¿óáÑΓß∩ »ÑαѼѡ¡«⌐ x.
-
-
- 6.10. Ä»ÑαáΓ«α null
-
-
- æ¿¡Γá¬ß¿ß:
- ;
-
- éδ»«½¡Ñ¡¿Ñ:
- Ä»ÑαáΓ«α null - φΓ« «»ÑαáΓ«α, ß«ßΓ«∩Θ¿⌐ Γ«½∞¬« ¿º Γ«τ¬¿ ß
- ºá»∩Γ«⌐. Ä¡ ¼«ªÑΓ »«∩ó¿Γ∞ß∩ ó ½εí«¼ ¼ÑßΓÑ, úñÑ ΓαÑíπÑΓß∩
- «»ÑαáΓ«α. è«úñá óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α null, ¡¿τÑú« ¡Ñ »α«¿ßσ«ñ¿Γ.
-
- Åα¿¼Ñα
- for (i=0; i<10; linee [i++]=0)
- ;
-
- Æá¬¿Ñ «»ÑαáΓ«αδ, ¬á¬ do, for, if, while, ΓαÑíπεΓ, τΓ«íδ ó
- ΓÑ½Ñ «»ÑαáΓ«αá íδ½ σ«Γ∩ íδ «ñ¿¡ «»ÑαáΓ«α. Ä»ÑαáΓ«α null πñ«ó½ÑΓ-
- ó«α∩ÑΓ ΓαÑí«óá¡¿∩¼ ß¿¡Γá¬ß¿ßá ó ß½πτá∩σ, ¬«úñá ¡Ñ ΓαÑíπÑΓß∩ Γѽá
- «»ÑαáΓ«αá. é »α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ ΓαÑΓ∞Ñ óδαáªÑ¡¿Ñ «»ÑαáΓ«αá for
- ¿¡¿µ¿á½¿º¿απÑΓ »ÑαóδÑ 10 φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá line ¡π½Ñ¼. ÆÑ½« «»Ñ-
- αáΓ«αá ó¬½ετáÑΓ «»ÑαáΓ«α null, Γ.¬. ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ó ñαπú¿σ
- «»ÑαáΓ«αáσ.
-
- Å«¼ÑτÑ¡¡δ⌐ «»ÑαáΓ«α null
-
- Ä»ÑαáΓ«α null, »«ñ«í¡« ½εí«¼π ñαπú«¼π æ¿ «»ÑαáΓ«απ, ¼«ªÑΓ
- íδΓ∞ »«¼ÑτÑ¡ ¼ÑΓ¬«⌐. ùΓ«íδ »«¼ÑΓ¿Γ∞ «í"ѬΓ, ¬«Γ«αδ⌐ ¡Ñ ∩ó½∩ÑΓß∩
- «»ÑαáΓ«α«¼, Γᬫ⌐ ¬á¬ ºá¬αδóáεΘá∩ß∩ Σ¿úπα¡á∩ ߬«í¬á ß«ßΓáó¡«ú«
- «»ÑαáΓ«αá, ¼«ª¡« óßΓáó¿Γ∞ »ÑαÑñ «í"Ñ¬Γ«¼ »«¼ÑτÑ¡¡δ⌐ «»ÑαáΓ«α
- null.
-
-
- 6.11. Ä»ÑαáΓ«α return
-
- æ¿¡Γá¬ß¿ß:
-
- return [<expression>];
-
- éδ»«½¡Ñ¡¿Ñ:
- Ä»ÑαáΓ«α return ºá¬á¡τ¿óáÑΓ óδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿¿, ó ¬«Γ«α«⌐
- «¡ »«∩ó½∩ÑΓß∩, ¿ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ ó óδºδóáεΘπε Σπ¡¬µ¿ε. ô»-
- αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ó óδºδóáεΘπε Σπ¡¬µ¿ε ó Γ«τ¬π, ¡Ñ»«ßαÑñßΓóÑ¡¡«
- ß½ÑñπεΘπε ºá ó맮ó«¼. ç¡áτÑ¡¿Ñ óδαáªÑ¡¿∩ <expression>, Ñß½¿ «¡«
- ÑßΓ∞, ó«ºóαáΘáÑΓß∩ ó óδºδóáεΘπε Σπ¡¬µ¿ε. àß½¿ óδαáªÑ¡¿Ñ
- <expression> «»πΘÑ¡«, Γ« ó«ºóαáΘáѼá∩ Σπ¡¬µ¿Ñ⌐ óѽ¿τ¿¡á ¡Ñ «»αÑ-
- ñѽѡá.
-
-
- - 104 -
-
-
- Åα¿¼Ñα
- main ()
- {
- void draw (int,int);
- long sq (int);
-
- .
- .
- .
- y=sq (x);
- draw (x,y);
- .
- .
- .
- }
- long sq (x)
- int x;
- {
- return (x*x);
- }
- void draw (x,y)
- int x,y;
- {
- .
- .
- .
- return;
- }
-
- öπ¡¬µ¿∩ main óδºδóáÑΓ ñóÑ Σπ¡¬µ¿¿, sq ¿ draw. öπ¡¬µ¿∩ sq
- ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ x*x ó main. éѽ¿τ¿¡á ó«ºóαáΓá »α¿ßóá¿óáÑΓß∩
- »ÑαѼѡ¡«⌐ y. öπ¡¬µ¿∩ draw «í"∩ó½∩ÑΓß∩ ¬á¬ Σπ¡¬µ¿∩ void ¿ ¡Ñ ó«º-
- óαáΘáÑΓ º¡áτÑ¡¿∩. Å«»δΓ¬á »α¿ßó«¿Γ∞ ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ Σπ¡¬µ¿¿
- draw »α¿óѽ« íδ ¬ «Φ¿í¬Ñ.
- éδαáªÑ¡¿Ñ <expression> «»ÑαáΓ«αá return ºá¬½ετÑ¡« ó ߬«í¬¿,
- ¬á¬ »«¬áºá¡« ó »α¿¼ÑαÑ. ƒºδ¬ ¡Ñ ΓαÑíπÑΓ ß¬«í«¬.
-
- ÄΓßπΓßΓó¿Ñ «»ÑαáΓ«αá return
-
- àß½¿ «»ÑαáΓ«α return ¡Ñ »«∩ó¿½ß∩ ó «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿, Γ«
- π»αáó½Ñ¡¿Ñ áóΓ«¼áΓ¿τÑ߬¿ »ÑαÑñáÑΓß∩ ó óδºδóáεΘπε Σπ¡¬µ¿ε »«ß½Ñ
- óδ»«½¡Ñ¡¿∩ »«ß½Ññ¡Ñú« «»ÑαáΓ«αá ó óδºóá¡¡«⌐ Σπ¡¬µ¿¿. ç¡áτÑ¡¿Ñ
- ó«ºóαáΓá óδºóá¡¡«⌐ Σπ¡¬µ¿¿ »α¿ φΓ«¼ ¡Ñ «»αÑñѽѡ«. àß½¿ º¡áτÑ¡¿Ñ
- ó«ºóαáΓá ¡Ñ ΓαÑíπÑΓß∩, Γ« Σπ¡¬µ¿∩ ñ«½ª¡á íδΓ∞ «í"∩ó½Ñ¡á ß Γ¿»«¼
- ó«ºóαáΓá void.
-
-
- 6.12. Ä»ÑαáΓ«α switch
-
- æ¿¡Γá¬ß¿ß:
-
- switch (<expression>) {
- [<declaration>]
- .
- .
-
- - 105 -
-
-
- .
- [case <constant-expression>:]
-
- .
- .
- .
- [<statement>]
- .
- .
- .
- [default:
- <statement>]
- [case <constant-expression>:]
- .
- .
- .
- [<statement>]
- .
- .
- .
- }
-
- éδ»«½¡Ñ¡¿Ñ:
- Ä»ÑαáΓ«α switch »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ «ñ¡«¼π ¿º «»ÑαáΓ«α«ó
- <statement> ßó«Ñú« Γѽá. Ä»ÑαáΓ«α, »«½πτáεΘ¿⌐ π»αáó½Ñ¡¿Ñ, - φΓ«
- ëà «»ÑαáΓ«α, τ∞Ñ case-¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ
- <cjnstant-expression> αáó¡« º¡áτÑ¡¿ε switch-óδαáªÑ¡¿∩
- <expression> ó ¬απú½δσ ߬«í¬áσ.
- éδ»«½¡Ñ¡¿Ñ ΓÑ½á «»ÑαáΓ«αá ¡áτ¿¡áÑΓß∩ ß óδíαá¡¡«ú« «»ÑαáΓ«αá
- ¿ »α«ñ«½ªáÑΓß∩ ñ« ¬«¡µá ΓÑ½á ¿½¿ ñ« ΓÑσ »«α, »«¬á «τÑαÑñ¡«⌐
- «»ÑαáΓ«α <statement> »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ºá »αÑñѽδ Γѽá.
- Ä»ÑαáΓ«α default óδ»«½¡¿Γß∩, Ñß½¿ case-¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ-
- ¡¿Ñ <constant-expression> ¡Ñ αáó¡« º¡áτÑ¡¿ε switch-óδαáªÑ¡¿∩
- <expression>. àß½¿ default-«»ÑαáΓ«α «»πΘÑ¡, á ß««ΓóÑΓßΓóπεΘ¿⌐
- case ¡Ñ ¡á⌐ñÑ¡, Γ« óδ»«½¡∩Ѽδ⌐ «»ÑαáΓ«α ó ΓÑ½Ñ switch
- «ΓßπΓßΓóπÑΓ. Switch-óδαáªÑ¡¿Ñ <expression> - φΓ« µÑ½á∩ óѽ¿τ¿¡á
- αẼÑαá int ¿½¿ ¬«α«τÑ. Ä¡« ¼«ªÑΓ íδΓ∞ Γá¬ªÑ óѽ¿τ¿¡«⌐ Γ¿»á enum.
- àß½¿ <expression> ¬«α«τÑ τѼ int, «¡« αáßΦ¿α∩ÑΓß∩ ñ« int.
- èáªñ«Ñ case-¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ <cjnstant-expression>
- »αÑ«íαáºπÑΓß∩ ¬ Γ¿»π switch-óδαáªÑ¡¿∩. ç¡áτÑ¡¿Ñ ¬áªñ«ú«
- case-¬«¡ßΓá¡Γ¡«ú« óδαáªÑ¡¿∩ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼ ó¡πΓα¿ Γѽá
- «»ÑαáΓ«αá.
- Case ¿ default ¼ÑΓ¬¿ ó ΓÑ½Ñ «»ÑαáΓ«αá switch ßπΘÑßΓóÑ¡¡δ
- Γ«½∞¬« »α¿ ¡áτá½∞¡«⌐ »α«óÑα¬Ñ, ¬«úñá «»αÑñѽ∩ÑΓß∩ ßΓáαΓ«óá∩ Γ«τ¬á
- ñ½∩ óδ»«½¡Ñ¡¿∩ ΓÑ½á «»ÑαáΓ«αá. éßÑ «»ÑαáΓ«αδ »«∩ó½∩εΘ¿Ñß∩ ¼Ñªñπ
- ßΓáαΓ«óδ¼ «»ÑαáΓ«α«¼ ¿ ¬«¡µ«¼ Γѽá, óδ»«½¡∩εΓß∩, ¡Ñ «íαáΘá∩ ó¡¿¼á-
- ¡¿∩ ¡á ßó«¿ ¼ÑΓ¬¿, Ñß½¿ ¬á¬«⌐-Γ« ¿º «»ÑαáΓ«α«ó ¡Ñ »ÑαÑñáÑΓ π»αáó-
- ½Ñ¡¿∩ ¿º ΓÑ½á «»ÑαáΓ«αá switch.
- é ºáú«½«ó¬Ñ ß«ßΓáó¡«ú« «»ÑαáΓ«αá, Σ«α¼¿απεΘÑú« Γѽ« «»Ñαá-
- Γ«αá switch, ¼«úπΓ »«∩ó¿Γ∞ß∩ «í"∩ó½Ñ¡¿∩, ¡« ¿¡¿µ¿á½¿ºáΓ«αδ, ó¬½ε-
- τÑ¡¡δÑ ó «í"∩ó½Ñ¡¿∩, ¡Ñ íπñπΓ óδ»«½¡Ñ¡δ. ìạáτÑ¡¿Ñ «»ÑαáΓ«αá
- switch ß«ßΓ«¿Γ ó Γ«¼, τΓ«íδ »ÑαÑñáΓ∞ π»αáó½Ñ¡¿Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡«
- ¡á óδ»«½¡∩Ѽδ⌐ «»ÑαáΓ«α ó¡πΓα¿ Γѽá, «í«⌐ñ∩ ßΓ᫬¿, ¬«Γ«αδÑ ß«-
- ñÑαªáΓ ¿¡¿µ¿á½¿ºáµ¿ε.
-
-
- - 106 -
-
-
- Åα¿¼Ñαδ:
- /***.....* example 1 *.....***/
- switch (c) {
- case 'A':
- capa++;
- case 'a':
- lettera++;
- default:
- total++;
- }
-
- /***.....* example 2 *.....***/
- switch (i) {
- case -1:
- n++;
- break;
- case 0:
- z++;
- break;
- case 1:
- p++;
- break;
- }
-
- é »Ñαó«¼ »α¿¼ÑαÑ óßÑ Γα¿ «»ÑαáΓ«αá ó ΓÑ½Ñ switch óδ»«½¡∩εΓ-
- ß∩, Ñß½¿ c αáó¡« 'A'. ÅÑαÑñáτá π»αáó½Ñ¡¿∩ «ßπΘÑßΓó½∩ÑΓß∩ ¡á »Ñα-
- óδ⌐ «»ÑαáΓ«α capa++, ñá½ÑÑ «»ÑαáΓ«αδ óδ»«½¡∩εΓß∩ ó »«α∩ñ¬Ñ ¿σ
- ß½Ññ«óá¡¿∩ ó ΓѽÑ.
- àß½¿ c αáó¡« 'a', Γ« »ÑαѼѡ¡δÑ lettera ¿ total
- ¿¡¬αÑ¼Ñ¡Γ¿απεΓß∩. ìᬫ¡Ñµ, Ñß½¿ c ¡Ñ αáó¡« ¡¿ 'A' ¡¿ 'a', Γ«
- ¿¡¬αÑ¼Ñ¡Γ¿απÑΓß∩ Γ«½∞¬« »ÑαѼѡ¡á∩ total.
- é« óΓ«α«¼ »α¿¼ÑαÑ ó ΓÑ½Ñ switch »«ß½Ñ ¬áªñ«ú« «»ÑαáΓ«αá
- ß½ÑñπÑΓ «»ÑαáΓ«α break. Ä»ÑαáΓ«α break «ßπΘÑßΓó½∩ÑΓ
- »α¿¡πñ¿Γѽ∞¡δ⌐ óδσ«ñ ¿º switch »«ß½Ñ óδ»«½¡Ñ¡¿∩ «ñ¡«ú« ¿º φΓ¿σ
- «»ÑαáΓ«α«ó. ū߽Ññ¡¿⌐ «»ÑαáΓ«α break ¡Ñ ∩ó½∩ÑΓß∩ «í∩ºáΓѽ∞¡δ¼,
- »«ß¬«½∞¬π íѺ ¡Ñú« π»αáó½Ñ¡¿Ñ í佫 íδ »ÑαÑñá¡« ¿º ΓÑ½á ¡á ¬«¡Ñµ
- ß«ßΓáó¡«ú« «»ÑαáΓ«αá, ¡« «¡ ó¬½ετÑ¡ ñ½∩ Ññ¿¡««íαế∩.
-
- î¡«ªÑßΓóÑ¡¡δÑ ¼ÑΓ¬¿
-
- Ä»ÑαáΓ«α Γѽá switch ¼«ªÑΓ íδΓ∞ »«¼ÑτÑ¡ ¼¡«ªÑßΓóÑ¡¡δ¼¿
- ¼ÑΓ¬á¼¿, ¬á¬ »«¬áºá¡« ó ¡¿ªÑß½ÑñπεΘѼ »α¿¼ÑαÑ:
-
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f': hexcvt (c);
-
- ò«Γ∩ ½εí«⌐ «»ÑαáΓ«α ó¡πΓα¿ ΓÑ½á «»ÑαáΓ«αá switch ¼«ªÑΓ íδΓ∞
- »«¼ÑτÑ¡, «ñ¡á¬« ¡Ñ ΓαÑíπÑΓß∩ «»ÑαáΓ«αá, τΓ«íδ »«∩ó¿½áß∞ ¼ÑΓ¬á.
- Ä»ÑαáΓ«αδ íѺ ¼ÑΓ«¬ ¼«úπΓ íδΓ∞ ß¼ÑΦá¡δ ß »«¼ÑτÑ¡¡δ¼¿ «»ÑαáΓ«αἿ.
- æ½ÑñπÑΓ »«¼¡¿Γ∞, «ñ¡á¬«, τΓ« Ñß½¿ switch «»ÑαáΓ«α »ÑαÑñá½ π»αáó-
- ½Ñ¡¿Ñ «ñ¡«¼π ¿º «»ÑαáΓ«α«ó ßó«Ñú« Γѽá, Γ« óßÑ ß½ÑñπεΘ¿Ñ ºá ¡¿¼
-
- - 107 -
-
-
- «»ÑαáΓ«αδ ó í½«¬Ñ óδ»«½¡∩εΓß∩, ¡Ñ «íαáΘá∩ 󡿼᡿∩ ¡á ßó«¿ ¼ÑΓ¬¿.
-
-
- 6.13. Ä»ÑαáΓ«α while
-
- æ¿¡Γá¬ß¿ß:
- while (<expression>)
- <statement>
-
- éδ»«½¡Ñ¡¿Ñ:
- ÆÑ½« «»ÑαáΓ«αá while óδ»«½¡∩ÑΓß∩ ¡π½∞ ¿½¿ í«½ÑÑ αẠñ« ΓÑσ
- »«α, »«¬á óδαáªÑ¡¿Ñ <expression> ßΓá¡ÑΓ ½«ª¡δ¼ (αáó¡δ¼ ¡π½ε).
- é¡áτá½Ñ óδτ¿ß½∩ÑΓß∩ óδαáªÑ¡¿Ñ <expression>. àß½¿ <expression> ¿º-
- ¡áτá½∞¡« ½«ª¡«, Γ« Γѽ« «»ÑαáΓ«αá while ¡Ñ óδ»«½¡∩ÑΓß∩ ¿ π»αáó½Ñ-
- ¡¿Ñ »ÑαÑñáÑΓß∩ ¡á ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α »α«úαá¼¼δ. àß½¿ <expression>
- ∩ó½∩ÑΓß∩ ¿ßΓ¿¡«⌐ (¡Ñ ¡π½∞), Γ« óδ»«½¡∩ÑΓß∩ Γѽ« «»ÑαáΓ«αá. ÅÑαÑñ
- ¬áªñδ¼ ß½ÑñπεΘ¿¼ óδ»«½¡Ñ¡¿Ñ¼ ΓÑ½á «»ÑαáΓ«αá <expression>
- »ÑαÑóδτ¿ß½∩ÑΓß∩. Å«óΓ«αÑ¡¿Ñ óδ»«½¡Ñ¡¿∩ ΓÑ½á «»ÑαáΓ«αá »α«¿ßσ«ñ¿Γ
- ñ« ΓÑσ »«α, »«¬á <expression> «ßΓáÑΓß∩ ¿ßΓ¿¡¡δ¼. Ä»ÑαáΓ«α while
- ¼«ªÑΓ Γá¬ªÑ ºáóÑαΦ¿Γ∞ß∩ »α¿ óδ»«½¡Ñ¡¿¿ «»ÑαáΓ«α«ó break, goto,
- return ó¡πΓα¿ Γѽá while.
-
- Åα¿¼Ñα
- while (i>=0) {
- string1 [i] = string2 [i];
- i--;
- }
-
- é óδΦÑ»α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ ¬«»¿απεΓß∩ ß¿¼ó«½δ ¿º string2 ó
- string1. àß½¿ i í«½∞ΦÑ ¿½¿ αáó¡« ¡π½ε, Γ« string2[i] »α¿ßóá¿-
- óáÑΓß∩ ¿¡ñѬߡ«⌐ »ÑαѼѡ¡«⌐ string1[i] ¿ i ñѬαÑ¼Ñ¡Γ¿απÑΓß∩. è«ú-
- ñá i ßΓá¡«ó¿Γß∩ ¼Ñ¡∞ΦÑ ¡π½∩,Γ« óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá while ºá-
- óÑαΦáÑΓß∩.
-
-
-
- 7. öôìèûêê
-
-
- 7.1. éóÑñÑ¡¿Ñ
-
- öπ¡¬µ¿∩ - φΓ« ¡Ñºáó¿ß¿¼á∩ ß«ó«¬π»¡«ßΓ∞ «í"∩ó½Ñ¡¿⌐ ¿
- «»ÑαáΓ«α«ó, «íδτ¡« »αÑñ¡áº¡áτÑ¡¡á∩ ñ½∩ óδ»«½¡Ñ¡¿∩ «»αÑñѽѡ¡«⌐
- ºáñáτ¿. Åα«úαá¼¼δ ¡á æ¿ ß«ßΓ«∩Γ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ ¿º «ñ¡«⌐ Σπ¡¬µ¿¿
- main, ¡« ¼«úπΓ ß«ñÑαªáΓ∞ ¿ í«½∞ΦÑ Σπ¡¬µ¿⌐. é »«ñαáºñѽáσ ñá¡¡«ú«
- αáºñÑ½á «»¿ßδóáÑΓß∩ ¬á¬ «»αÑñѽ∩Γ∞, «í"∩ó½∩Γ∞ ¿ óδºδóáΓ∞ Σπ¡¬µ¿¿
- æ¿.
- Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿ ߻ѵ¿Σ¿µ¿απÑΓ ¿¼∩ Σπ¡¬µ¿¿, ÑÑ
- Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ, «í"∩ó½Ñ¡¿∩ ¿ «»ÑαáΓ«αδ, ¬«Γ«αδÑ «»αÑñѽ∩εΓ
- ÑÑ ñÑ⌐ßΓó¿∩. é «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿ ¼«ªÑΓ íδΓ∞ ºáñá¡ Γá¬ªÑ Γ¿»
- ó«ºóαáΓá ¿ ÑÑ ¬½áßß »á¼∩Γ¿.
- é «í"∩ó½Ñ¡¿¿ ºáñáÑΓß∩ ¿¼∩, Γ¿» ó«ºóαáΓá ¿ ¬½áßß »á¼∩Γ¿
- Σπ¡¬µ¿¿, τ∞Ñ ∩ó¡«Ñ «»αÑñѽѡ¿Ñ »α«¿ºóÑñÑ¡« ó ñαπú«⌐ τáßΓ¿
- »α«úαá¼¼δ. é «í"∩ó½Ñ¡¿¿ Σπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ Γá¬ªÑ ß»Ñµ¿Σ¿µ¿α«óá¡δ
- τ¿ß½« ¿ Γ¿»δ áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿. ¥Γ« »«ºó«½∩ÑΓ ¬«¼»¿½∩Γ«απ ßαáó-
-
- - 108 -
-
-
- ¡¿Γ∞ Γ¿»δ ñÑ⌐ßΓó¿Γѽ∞¡δσ áαúπ¼Ñ¡Γ«ó ¿ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó
- Σπ¡¬µ¿¿. Äí"∩ó½Ñ¡¿∩ ¡Ñ «í∩ºáΓѽ∞¡δ ñ½∩ Σπ¡¬µ¿⌐, ó«ºóαáΘáεΘ¿σ óÑ-
- ½¿τ¿¡δ Γ¿»á int. ùΓ«íδ «íÑß»Ñτ¿Γ∞ ¬«ααÑ¬Γ¡«Ñ «íαáΘÑ¡¿Ñ »α¿ ñαπú¿σ
- Γ¿»áσ ó«ºóαáΓ«ó, ¡Ñ«íσ«ñ¿¼« «í"∩ó¿Γ∞ Σπ¡¬µ¿ε »ÑαÑñ ÑÑ ó맮ó«¼.
- é맮ó Σπ¡¬µ¿¿ »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ¿º óδºδóáεΘÑ⌐ Σπ¡¬µ¿¿ ¬
- óδºóá¡¡«⌐. äÑ⌐ßΓó¿Γѽ∞¡δÑ áαúπ¼Ñ¡Γδ, Ñß½¿ «¡¿ ÑßΓ∞, »ÑαÑñáεΓß∩ »«
- º¡áτÑ¡¿ε ó óδºóá¡¡πε Σπ¡¬µ¿ε. Åα¿ óδ»«½¡Ñ¡¿¿ «»ÑαáΓ«αá return ó
- óδºδóá¡¡«⌐ Σπ¡¬µ¿¿ π»αáó½Ñ¡¿Ñ ¿, 󫺼«ª¡«, º¡áτÑ¡¿Ñ ó«ºóαáΓá
- »ÑαÑñáεΓß∩ ó óδºδóáεΘπε Σπ¡¬µ¿ε.
-
-
- 7.2. Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿
-
- Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿ ߻ѵ¿Σ¿µ¿απÑΓ ¿¼∩, Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ
- ¿ Γѽ« Σπ¡¬µ¿¿. Ä¡« ¼«ªÑΓ Γá¬ªÑ «»αÑñѽ∩Γ∞ Γ¿» ó«ºóαáΓá ¿ ¬½áßß
- »á¼∩Γ¿ Σπ¡¬µ¿¿. æ¿¡Γá¬ß¿ß «»αÑñѽѡ¿∩ Σπ¡¬µ¿¿ ß½ÑñπεΘ¿⌐:
-
- [<sc-specifier>][<type-specifier>]<declarator>
- ([<parameter-list>])
- [<parameter-declarations>]
- <function-body>
-
- æ»Ñµ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ <sc-specifier> ºáñáÑΓ ¬½áßß »á-
- ¼∩Γ¿ Σπ¡¬µ¿¿, ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ¿½¿ static ¿½¿ extern. æ»Ñµ¿Σ¿-
- ¬áΓ«α Γ¿»á <type-specifier> ¿ ñѬ½áαáΓ«α <declaration> ߻ѵ¿Σµ¿-
- απεΓ Γ¿» ó«ºóαáΓá ¿ ¿¼∩ Σπ¡¬µ¿¿. 滿߫¬ »áαá¼ÑΓα«ó
- <parameter-list> - φΓ« ß»¿ß«¬ (󫺼«ª¡« »πßΓ«⌐) Σ«α¼á½∞¡δσ »áαá-
- ¼ÑΓα«ó, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ Σπ¡¬µ¿Ñ⌐. Äí"∩ó½Ñ¡¿∩ »áαá¼ÑΓα«ó
- <parameter-declarations> ºáñáεΓ Γ¿»δ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó. ÆÑ½«
- Σπ¡¬µ¿¿ <function-body> - φΓ« ß«ßΓáó¡«⌐ «»ÑαáΓ«α, ß«ñÑαªáΘ¿⌐
- «í"∩ó½Ñ¡¿∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ ¿ «»ÑαáΓ«αδ. é ß½ÑñπεΘ¿σ αáºñѽáσ
- ñÑΓá½∞¡« «»¿ßδóáεΓß∩ ß«ßΓáó¡δÑ τáßΓ¿ «»αÑñѽѡ¿∩ Σπ¡¬µ¿¿.
-
-
- 7.2.1. è½áßß »á¼∩Γ¿
-
- æ»Ñµ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ ó «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓ
- Σπ¡¬µ¿ε ¬á¬ static ¿½¿ extern. öπ¡¬µ¿∩ ß ¬½áßß«¼ »á¼∩Γ¿ static
- ó¿ñ¿¼á Γ«½∞¬« ó Γ«¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ, ó ¬«Γ«α«¼ «¡á «»αÑñѽѡá. éßÑ
- ñαπú¿Ñ Σπ¡¬µ¿¿ ß ¬½áßß«¼ »á¼∩Γ¿ extern, ºáñá¡¡δ¼ ∩ó¡« ¿½¿ ¡Ñ∩ó¡«,
- ó¿ñ¿¼δ ó« óßÑσ ¿ßσ«ñ¡δσ Σá⌐½áσ, ¬«Γ«αδÑ «íαáºπεΓ »α«úαá¼¼π.
- àß½¿ ߻ѵ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ «»π߬áÑΓß∩ ó «»αÑñѽѡ¿¿
- Σπ¡¬µ¿¿, Γ« »«ñαáºπ¼ÑóáÑΓß∩ ¬½áßß »á¼∩Γ¿ extern. æ»Ñµ¿Σ¿¬áΓ«α
- ¬½áßßá »á¼∩Γ¿ extern ¼«ªÑΓ íδΓ∞ ∩ó¡« ºáñá¡ ó «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿,
- ¡« φΓ«ú« ¡Ñ ΓαÑíπÑΓß∩.
- æ»Ñµ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ ΓαÑíπÑΓß∩ »α¿ «»αÑñѽѡ¿¿ Σπ¡¬-
- µ¿¿ Γ«½∞¬« ó «ñ¡«¼ ß½πτáÑ, ¬«úñá Σπ¡¬µ¿∩ «í"∩ó½∩ÑΓß∩ úñÑ-¡¿íπñ∞ ó
- ñαπú«¼ ¼ÑßΓÑ ó Γ«¼ ªÑ ßἫ¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ ß ß»Ñµ¿Σ¿¬áΓ«α«¼ ¬½áß-
- ßá »á¼∩Γ¿ static. æ»Ñµ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ static ¼«ªÑΓ íδΓ∞
- Γá¬ªÑ ¿ß»«½∞º«óá¡, ¬«úñá «»αÑñѽ∩Ѽá∩ Σπ¡¬µ¿∩ »αÑñóáα¿Γѽ∞¡«
- «í"∩ó½Ñ¡á ó Γ«¼ ªÑ ßἫ¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ íѺ ߻ѵ¿Σ¿¬áΓ«αá ¬½áßßá
- »á¼∩Γ¿. èᬠ»αá󿽫, Σπ¡¬µ¿∩, «í"∩ó½Ñ¡¡á∩ íѺ ߻ѵ¿Σ¿¬áΓ«αá ¬½áß-
- ßá »á¼∩Γ¿, »«ñαáºπ¼ÑóáÑΓ ¬½áßß extern. Äñ¡á¬«, Ñß½¿ «»αÑñѽѡ¿Ñ
- Σπ¡¬µ¿¿ ∩ó¡« ß»Ñµ¿Σ¿µ¿απÑΓ ¬½áßß static, Γ« Σπ¡¬µ¿¿ ñáÑΓß∩ ¬½áßß
- static.
-
- - 109 -
-
-
-
-
- 7.2.2. Æ¿» ó«ºóαáΓá
-
- Æ¿» ó«ºóαáΓá Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓ αẼÑα ¿ Γ¿» ó«ºóαáΘáѼ«ú«
- º¡áτÑ¡¿∩. Äí"∩ó½Ñ¡¿Ñ Γ¿»á ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- [<type-specifier>] <declarator>,
-
- úñÑ ß»Ñµ¿Σ¿¬áΓ«α Γ¿»á <type-specifier> ó¼ÑßΓÑ ß ñѬ½áαáΓ«-
- α«¼ <declarator> «»αÑñѽ∩ÑΓ Γ¿» ó«ºóαáΓá ¿ ¿¼∩ Σπ¡¬µ¿¿. àß½¿
- <type-specifier> ¡Ñ ºáñá¡, Γ« »«ñαáºπ¼ÑóáÑΓß∩, τΓ« Γ¿» ó«ºóαáΓá
- int. æ»Ñµ¿Σ¿¬áΓ«α Γ¿»á ¼«ªÑΓ ß»Ñµ¿Σ¿µ¿α«óáΓ∞ «ß¡«ó¡«⌐, ßΓαπ¬Γπα-
- ¡δ⌐ ¿ ß«ó¼ÑΘáεΘ¿⌐ Γ¿»δ. äѬ½áαáΓ«α ß«ßΓ«¿Γ ¿º ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Σπ¡-
- ¬µ¿¿, 󫺼«ª¡« ¼«ñ¿Σ¿µ¿α«óá¡¡«ú« ß µÑ½∞ε «í"∩ó½Ñ¡¿∩ áñαÑß¡«ú« Γ¿-
- »á. öπ¡¬µ¿¿ ¡Ñ ¼«úπΓ ó«ºóαáΘáΓ∞ ¼áßß¿ó«ó ¿½¿ Σπ¡¬µ¿⌐, ¡« «¡¿ ¼«-
- úπΓ ó«ºóαáΘáΓ∞ π¬áºáΓѽ¿ ¡á ½εí«⌐ Γ¿», ó¬½ετá∩ ¼áßß¿óδ ¿ Σπ¡¬µ¿¿.
- Æ¿» ó«ºóαáΓá, ºáñáóáѼδ⌐ ó «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿, ñ«½ªÑ¡ ß««ΓóÑΓßΓ-
- ó«óáΓ∞ Γ¿»á¼ ó«ºóαáΓ«ó, ºáñá¡¡δσ ó «í"∩ó½Ñ¡¿∩σ φΓ«⌐ Σπ¡¬µ¿¿, ßñÑ-
- ½á¡¡δσ úñÑ-Γ« ó »α«úαá¼¼Ñ. öπ¡¬µ¿¿ ß Γ¿»«¼ ó«ºóαáΓá int ¼«úπΓ ¡Ñ
- «í"∩ó½∩Γ∞ß∩ »ÑαÑñ ó맮ó«¼. öπ¡¬µ¿¿ ß ñαπú¿¼¿ Γ¿»á¼¿ ó«ºóαáΓ«ó ¡Ñ
- ¼«úπΓ íδΓ∞ óδºóá¡δ »αѪñÑ, τѼ «¡¿ íπñπΓ «»αÑñÑ½Ñ¡δ ¿½¿ «í"∩ó½Ñ-
- ¡δ.
- Æ¿» º¡áτÑ¡¿∩ ó«ºóαáΓá Σπ¡¬µ¿¿ ¿ß»«½∞ºπÑΓß∩ Γ«½∞¬« Γ«úñá,
- ¬«úñá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ óδαáíáΓδóáÑΓß∩, Ñß½¿
- óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α return, ß«ñÑαªáΘ¿⌐ óδαáªÑ¡¿Ñ. éδαáªÑ¡¿Ñ óδ-
- τ¿ß½∩ÑΓß∩, »αÑ«íαáºπÑΓß∩ ¬ Γ¿»π ó«ºóαáΓá, Ñß½¿ φΓ« ¡Ñ«íσ«ñ¿¼«, ¿
- ó«ºóαáΘáÑΓß∩ ó Γ«τ¬π ó맮óá. àß½¿ «»ÑαáΓ«α return ¡Ñ óδ»«½¡∩ÑΓß∩
- ¿½¿ Ñß½¿ óδ»«½¡∩Ѽδ⌐ «»ÑαáΓ«α return ¡Ñ ß«ñÑαª¿Γ óδαáªÑ¡¿∩, Γ«
- º¡áτÑ¡¿Ñ ó«ºóαáΓá Σπ¡¬µ¿¿ ¡Ñ «»αÑñѽѡ«. àß½¿ ó φΓ«¼ ß½πτáÑ óδºδ-
- óáεΘá∩ Σπ¡¬µ¿∩ «ª¿ñáÑΓ º¡áτÑ¡¿Ñ ó«ºóαáΓá, Γ« »«óÑñÑ¡¿Ñ »α«úαá¼¼δ
- Γá¬ªÑ ¡Ñ «»αÑñѽѡ«.
-
- Åα¿¼Ñαδ
- /*.....* example 1 *.....*/
- /* return type is int */
- static add (x,y)
- int x,y
- {
- return (x+y);
- }
-
- /*.....* example 2 *.....*/
- typedef struct {
- char name [20];
- int id;
- long class;
- } STUDENT
- /* return type is STUDENT */
- STUDENT sortstu (a,b)
- STUDENT a,b;
- {
- return ((a.id<b.id)? a:b);
- }
- /* return type is char pointer */
-
- - 110 -
-
-
- char *smallstr (s1,s2)
- char s1 [], s2 [];
- {
- int i;
- i = 0;
- while (s1[i]!='\0'&&s2[i]!='\0')
- i++;
- if (s1[i]=='\0'')
- return (s1);
-
- else
- return (s2);
- }
-
- é »Ñαó«¼ »α¿¼ÑαÑ »« π¼«½τá¡¿ε Γ¿» ó«ºóαáΓá Σπ¡¬µ¿¿ add
- «»αÑñѽѡ ¬á¬ int. öπ¡¬µ¿∩ ¿¼ÑÑΓ ¬½áßß »á¼∩Γ¿ static. ¥Γ« «º-
- ¡áτáÑΓ, τΓ« Σ¡¬µ¿∩ ¼«ªÑΓ íδΓ∞ óδºóá¡á Γ«½∞¬« Σπ¡¬µ¿∩¼¿ Γ«ú« ªÑ
- ßἫú« ¿ßσ«ñ¡«ú« Σá⌐½á.
- é« óΓ«α«¼ »α¿¼ÑαÑ »«ßαÑñßΓó«¼ «í"∩ó½Ñ¡¿∩ typedef «»αÑñѽѡ
- ßΓαπ¬Γπα¡δ⌐ Γ¿» STUDENT. äá½ÑÑ «»αÑñѽѡá Σπ¡¬µ¿∩ sortstu ß Γ¿»«¼
- ó«ºóαáΓá STUDENT. öπ¡¬µ¿∩ óδí¿αáÑΓ ¿ ó«ºóαáΘáÑΓ «ñ¿¡ ¿º ñóπσ
- ßΓαπ¬Γπα¡δσ áαúπ¼Ñ¡Γ«ó.
- é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «»αÑñѽѡá Σπ¡¬µ¿∩, ó«ºóαáΘáεΘá∩ π¬ºáΓѽ∞
- ¡á ¼áßß¿ó ß¿¼ó«½«ó. öπ¡¬µ¿∩ »α¿¡¿¼áÑΓ ó ¬áτÑßΓóÑ áαúπ¼Ñ¡Γ«ó ñóá
- ß¿¼ó«½∞¡δσ ¼áßß¿óá (ßΓ᫬¿) ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á í«½ÑÑ
- ¬«α«Γ¬πε ßΓ᫬π. ô¬áºáΓѽ∞ ¡á ¼áßß¿ó áñαÑßπÑΓ φ½Ñ¼Ñ¡Γδ Γ¿»á char.
- Æá¬¿¼ «íαẫ¼, Γ¿» ó«ºóαáΓá Σπ¡¬µ¿¿ íπñÑΓ π¬áºáΓѽѼ ¡á char.
-
-
- 7.2.3. ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ
-
- ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ - φΓ« »ÑαѼѡ¡δÑ, ¬«Γ«αδÑ »α¿¡¿¼áεΓ
- º¡áτÑ¡¿∩, »ÑαÑñá¡¡δÑ Σπ¡¬µ¿¿ «Γ Σπ¡¬µ¿«¡á½∞¡«ú« ó맮óá.
- ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ «í"∩ó½∩εΓß∩ ó ß»¿ß¬Ñ »áαá¼ÑΓα«ó ó ¡áτá½Ñ
- «»¿ßá¡¿∩ Σπ¡¬µ¿¿. 滿߫¬ »áαá¼ÑΓα«ó «»αÑñѽ∩ÑΓ ¿¼Ñ¡á »áαá¼ÑΓα«ó ¿
- »«α∩ñ«¬, ó ¬«Γ«α«¼ «¡¿ »α¿¡¿¼áεΓ º¡áτÑ¡¿∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿.
- 滿߫¬ »áαá¼ÑΓα«ó ß«ßΓ«¿Γ ¿º ¡π½∩ ¿½¿ í«½ÑÑ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, αáºñѽѡ¡δσ ºá»∩Γ«⌐. 滿߫¬ ñ«½ªÑ¡ íδΓ∞
- «úαá¡¿τÑ¡ ¬απú½δ¼¿ ߬«í¬á¼¿ ñáªÑ ó ß½πτáÑ, ¬«úñá «¡ »πßΓ.
- Å«ß½Ñ »«ß½Ññ¡Ñú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ó ß»¿ß¬Ñ »áαá¼ÑΓα«ó ¼«ªÑΓ
- »«∩ó¿Γ∞ß∩ ºá»∩Γá∩ ß »«ß½ÑñπεΘ¿¼ ¼¡«ú«Γ«τ¿Ñ¼ (,...), φΓ« «º¡áτáÑΓ,
- τΓ« τ¿ß½« áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿ »ÑαѼѡ¡«. Äñ¡á¬« »αÑñ»«½áúáÑΓß∩,
- τΓ« Σπ¡¬µ¿∩ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ ¿¼ÑÑΓ ßΓ«½∞¬« áαúπ¼Ñ¡Γ«ó, ߬«½∞¬«
- ß½ÑñπÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó »ÑαÑñ »«ß½Ññ¡Ñ⌐ ºá»∩Γ«⌐.
- 滿߫¬ »áαá¼ÑΓα«ó ¼«ªÑΓ ß«ßΓ«∩Γ∞ Γ«½∞¬« ¿º ¼¡«ú«Γ«τ¿∩ (...)
- ¿ ¡Ñ ß«ñÑαªáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó. ¥Γ« «º¡áτáÑΓ, τΓ« τ¿ß½«
- »áαá¼ÑΓα«ó Σπ¡¬µ¿¿ »ÑαѼѡ¡« ¿ ¼«ªÑΓ íδΓ∞ αáó¡δ¼ ¡π½ε.
-
- çá¼Ñτá¡¿Ñ:
- ùΓ«íδ »«ññÑαªáΓ∞ ß«ó¼ÑßΓ¿¼«ßΓ∞ ß »α«úαἼἿ »αÑñδñπΘ¿σ
- óÑαß¿⌐, ¬«¼»¿½∩Γ«α ñ«»π߬áÑΓ ß¿¼ó«½ ºá»∩Γ«⌐ íѺ ¼¡«ú«Γ«τ¿∩ ó ¬«¡-
- µÑ ß»¿ß¬á »áαá¼ÑΓα«ó ñ½∩ «í«º¡áτÑ¡¿∩ ¿σ »ÑαѼѡ¡«ú« τ¿ß½á. çá»∩-
- Γá∩ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ¿ ó¼ÑßΓ« ¼¡«ú«Γ«τ¿∩, τΓ«íδ ºá»¿ßáΓ∞
- ß»¿ß«¬ »áαá¼ÑΓα«ó Σπ¡¬µ¿¿, »α¿¡¿¼áεΘÑ⌐ ¡π½∞ ¿½¿ í«½ÑÑ áαúπ¼Ñ¡Γ«ó.
- êß»«½∞º«óá¡¿Ñ ºá»∩Γ«⌐ »«ññÑনóáÑΓß∩ Γ«½∞¬« ñ½∩ ß«ó ¼ÑßΓ¿¼«ßΓ¿.
-
- - 111 -
-
-
- êß»«½∞º«óá¡¿Ñ ¼¡«ú«Γ«τ¿∩ αѬ«¼Ñ¡ñπÑΓß∩ ñ½∩ ¡«ó«ú« »αÑñßΓáó½Ñ¡¿∩.
-
- Äí"∩ó½Ñ¡¿∩ »áαá¼ÑΓα«ó «»αÑñѽ∩εΓ Γ¿» ¿ αẼÑα óѽ¿τ¿¡, ºá-
- »«¼¿¡áѼδσ ó Σ«α¼á½∞¡δσ »áαá¼ÑΓαáσ. ¥Γ¿ «í"∩ó½Ñ¡¿∩ ¿¼Ñεà ëà ªÑ
- ßá¼δ⌐ ß¿¡Γá¬ß¿ß, ¬á¬ ¿ ñαπú¿Ñ «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡δσ (ß¼. αáºñѽ
- 4.4.). ö«α¼á½∞¡δÑ »Ñαá¼ÑΓαδ ¼«úπΓ íδΓ∞ «ß¡«ó¡«ú«, ßΓαπ¬Γπα¡«ú«,
- ß«ó¼ÑΘáεΘÑú«, áñαÑß¡«ú« Γ¿»«ó ¿½¿ Γ¿»á ¼áßß¿ó.
- Åáαá¼ÑΓαδ ¼«úπΓ ¿¼ÑΓ∞ Γ«½∞¬« ¬½áßßδ »á¼∩Γ¿ auto ¿ register.
- àß½¿ ¬½áßß »á¼∩Γ¿ ¡Ñ ºáñá¡, Γ« »«ñαáºπ¼ÑóáÑΓß∩ ¬½áßß »á¼∩Γ¿ auto.
- àß½¿ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα »αÑñßΓáó½Ñ¡ ó ß»¿ß¬Ñ »áαá¼ÑΓα«ó, ¡« ¡Ñ
- «í"∩ó½Ñ¡, Γ« »αÑñ»«½áúáÑΓß∩, τΓ« »áαá¼ÑΓα ¿¼ÑÑΓ Γ¿» int.
- ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ ¼«úπΓ íδΓ∞ «í"∩ó½Ñ¡δ ó ½εí«¼ »«α∩ñ¬Ñ.
- êñÑ¡Γ¿Σ¿¬áΓ«αδ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¿ß»«½∞ºπεΓß∩ ó ΓѽÑ
- Σπ¡¬µ¿¿ ó ¬áτÑßΓóÑ ßß佫¬ ¡á óѽ¿τ¿¡δ »ÑαÑñáóáѼδÑ Σπ¡¬µ¿¿. ¥Γ¿
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¡Ñ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ñ½∩ »ÑαѼѡ¡δσ,
- «í"∩ó½∩Ѽδσ ó¡πΓα¿ Γѽá Σπ¡¬µ¿¿.
- èá¬ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα ¼«ªÑΓ íδΓ∞ «í"∩ó½Ñ¡ Γ«½∞¬«
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ »αÑñßΓáó½Ñ¡ ó ß»¿ß¬Ñ »áαá¼ÑΓα«ó. àß½¿
- Σπ¡¬µ¿∩ ¿¼ÑÑΓ »ÑαѼѡ¡«Ñ τ¿ß½« áαúπ¼Ñ¡Γ«ó, Γ« »α«úαá¼¼¿ßΓ
- «ΓóÑτáÑΓ ¿ ºá «»αÑñѽѡ¿Ñ ¿σ τ¿ß½á ¿ ºá »«½πτÑ¡¿Ñ ¿σ ¿º ßΓѬá
- ó¡πΓα¿ Γѽá Σπ¡¬µ¿¿. 漫Γα¿ΓÑ ß¿ßΓѼ¡πε ñ«¬π¼Ñ¡Γáµ¿ε « ¼á¬α«ßáσ,
- ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ, τΓ«íδ «íÑß»Ñτ¿Γ∞ »ÑαÑ¡«ß¿¼«ßΓ∞ ó
- φΓ«¼ ß½πτáÑ.
- Æ¿» ¬áªñ«ú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá ñ«½ªÑ¡ ß««ΓóÑΓßΓó«óáΓ∞
- Γ¿»π Σá¬Γ¿τÑ߬«ú« áαúπ¼Ñ¡Γá ¿ Γ¿»π ß««ΓóÑΓßΓóπεΘÑú« áαúπ¼Ñ¡Γá ó
- ß»¿ß¬Ñ Γ¿»«ó áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿, Ñß½¿ Γᬫ⌐ ß»¿ß«¬ ¿¼ÑÑΓß∩. àß½¿
- ΓαÑíπÑΓß∩, ¬«¼»¿½∩Γ«α óδ»«½¡∩ÑΓ «íδτ¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ »αÑ«íαẫ-
- óá¡¿∩ ñ½∩ ¬áªñ«ú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá ¿ ¬áªñ«ú« Σá¬Γ¿τÑ߬«ú«
- áαúπ¼Ñ¡Γá ¡Ñºáó¿ß¿¼«.
- Å«ß½Ñ »αÑ«íαẫóá¡¿∩ ¡ÑΓ Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá, ¬«Γ«αδ⌐
- ¬«α«τÑ τѼ int, ¿ ¡ÑΓ Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá, ¬«Γ«αδ⌐ ¿¼ÑÑΓ Γ¿»
- float. ¥Γ« «º¡áτáÑΓ, ¡á»α¿¼Ñα, τΓ« «í"∩ó¿Γ∞ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα
- ¬á¬ char óßÑ αáó¡«, τΓ« «í"∩ó¿Γ∞ Ñú« ¬á¬ int.
- àß½¿ αÑ὿º«óá¡δ ¬½ετÑóδÑ ß½«óá near, far, huge, Γ« ¬«¼-
- »¿½∩Γ«α Γá¬ªÑ ¼«ªÑΓ »α«óÑßΓ¿ »αÑ«íαẫóá¡¿Ñ ½εí«ú« áñαÑß¡«ú«
- áαúπ¼Ñ¡Γá ¬ Σπ¡¬µ¿¿. ÅαÑ«íαẫóá¡¿∩ »α«¿ºó«ñ∩Γß∩ ó ºáó¿ß¿¼«ßΓ¿ «Γ
- π¼á½τ¿óáѼ«ú« αẼÑαá π¬áºáΓѽÑ⌐ ó »α«úαá¼¼Ñ ¿ «Γ ¡á½¿τ¿∩ ¿½¿
- «ΓßπΓßΓó¿∩ ß»¿ß¬á Γ¿»«ó áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿. 漫Γα¿ΓÑ ß¿ßΓѼ¡πε
- ñ«¬π¼Ñ¡Γᵿε, τΓ«íδ »«½πτ¿Γ∞ í«½ÑÑ »«½¡πε ¿¡Σ«α¼áµ¿ε «í áñαÑß¡δσ
- »αÑ«íαẫóá¡¿∩σ.
- ÅαÑ«íαẫóá¡¡δ⌐ Γ¿» ¬áªñ«ú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá «»αÑñѽ∩-
- ÑΓ ¬á¬ ¿¡ΓÑα»αÑΓ¿απεΓß∩ áαúπ¼Ñ¡Γδ, αẼÑΘÑ¡¡δÑ ó ßΓѬÑ. ìÑß««Γ-
- óÑΓßΓó¿Ñ Γ¿»«ó Σá¬Γ¿τÑ߬¿σ ¿ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¼«ªÑΓ íδΓ∞
- »α¿τ¿¡«⌐ ¡ÑóÑα¡«⌐ ¿¡ΓÑα»αÑΓᵿ¿.
-
- ìá»α¿¼Ñα, Ñß½¿ 16-Γ¿ í¿Γ«óδ⌐ π¬áºáΓѽ∞ »ÑαÑñáÑΓß∩ ¬á¬
- ñÑ⌐ßΓó¿Γѽ∞¡δ⌐ áαúπ¼Ñ¡Γ, á «í"∩ó½Ñ¡ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα Γ¿»á
- long, Γ« »ÑαóδÑ 32 í¿Γá ßΓÑ¬á »α«¿¡ΓÑα»αÑΓ¿απεΓß∩ ¬á¬ Σ«α¼á½∞¡δ⌐
- »áαá¼ÑΓα. ¥Γá «Φ¿í¬á ß«ºñáÑΓ »α«í½Ñ¼δ ¡Ñ Γ«½∞¬« ß Σ«α¼á½∞¡δ¼
- »áαá¼ÑΓα«¼ Γ¿»á long, ¡« ¿ ß ½εí묨 Σ«α¼á½∞¡δ¼¿ »áαá¼ÑΓαἿ,
- ¬«Γ«αδÑ ß½ÑñπεΓ ºá ¡¿¼. ÄΦ¿í¬¿ Γᬫú« ß«αΓá ¼«úπΓ íδΓ∞ «í¡áαπªÑ¡δ
- »πΓѼ ß¿ßΓѼáΓ¿τÑ߬«ú« ¿ß»«½∞º«óá¡¿∩ ß»¿ß¬á Γ¿»«ó áαúπ¼Ñ¡Γ«ó ó
- «í"∩ó½Ñ¡¿∩σ Σπ¡¬µ¿¿.
-
- Åα¿¼Ñα:
-
- - 112 -
-
-
- struct student {
- char name [20];
- int id;
- long class;
- struct student *nextstu;
- } student;
- main ()
- {
- int match (struct student *, char *);
- .
- .
- .
- if (match(student.nexstu ,student.name)>0){
- {
- .
- .
- .
- }
- }
- match (r,n)
- struct student *r;
- char *n;
- {
- int i=0;
- while (r->name [i] == n[i])
- if (r->name [i++] == '\0')
- return (r->id);
- return (0);
- }
-
-
-
- é »α¿¼ÑαÑ ß«ñÑαªáΓß∩ : «í"∩ó½Ñ¡¿Ñ ßΓαπ¬Γπα¡«ú« Γ¿»á,
- forward-«í"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ match, ó맮ó match ¿ «»αÑñѽѡ¿Ñ
- Σπ¡¬µ¿¿ match. çá¼ÑΓ¿¼, τΓ« «ñ¡« ¿ Γ« ªÑ ¿¼∩ student ¼«ªÑΓ íδΓ∞
- ¿ß»«½∞º«óá¡« íѺ »α«Γ¿ó«αÑτ¿⌐ ñ½∩ Γѽá ßΓαπ¬Γπαδ ¿ ¿¼Ñ¡¿
- ßΓαπ¬Γπα¡«⌐ »ÑαѼѡ¡«⌐.
- öπ¡¬µ¿∩ match «í"∩ó½Ñ¡á ß ñóπ¼∩ áαúπ¼Ñ¡ΓἿ. ÅÑαóδ⌐ áαúπ-
- ¼Ñ¡Γ - φΓ« π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ Γ¿»á student, óΓ«α«⌐ π¬áºá Γѽ∞
- ¡á «í"Ñ¬Γ Γ¿»á char.
- ô Σπ¡¬µ¿¿ match ñóá Σ«α¼á½∞¡δσ »áαá¼ÑΓαá z ¿ n.
- Åáαá¼ÑΓα n «í"∩ó½Ñ¡ ¬á¬ π¬áºáΓѽ∞ ¡á «í"Ñ¬Γ Γ¿»á char.
- öπ¡¬µ¿∩ óδºδóáÑΓß∩ ß ñóπ¼∩ áαúπ¼Ñ¡ΓἿ. Äíá áαúπ¼Ñ¡Γá
- ∩ó½∩εΓß∩ φ½Ñ¼Ñ¡ΓἿ »ÑαѼѡ¡«⌐ student ßΓαπ¬Γπα¡«ú« Γ¿»á student.
- ū߬«½∞¬π ¿¼ÑÑΓß∩ forward-«í"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿ match, ¬«¼-
- »¿½∩Γ«α »α«óÑα¿Γ ß««ΓóÑΓßΓó¿Ñ Γ¿»«ó ñÑ⌐ßΓó¿Γѽ∞¡δσ áαúπ¼Ñ¡Γ«ó ß«
- ß»¿ß¬á¼¿ Γ¿»«ó áαúπ¼Ñ¡Γ«ó, á ºáΓѼ ñÑ⌐ßΓó¿Γѽ∞¡δσ áαúπ¼Ñ¡Γ«ó ß
- Σ«α¼á½∞¡δ¼¿ »áαá¼ÑΓαἿ.
- Æá¬ ¬á¬ Γ¿»δ ß««ΓóÑΓßΓóπεΓ, Γ« ó »αÑñπ»αѪñÑ¡¿∩σ ¿½¿
- »αÑ«íαẫóá¡¿∩σ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿.
- çá¼ÑΓ¿¼, τΓ« ¿¼∩ ¼áßß¿óá, ºáñá¡¡«Ñ ó ¬áτÑßΓóÑ óΓ«α«ú«
- áαúπ¼Ñ¡Γá ó ó맮óÑ Σπ¡¬µ¿¿ »αÑ«íαáºπÑΓß∩ ¬ π¬áºáΓÑ½ε ¡á char.
- æ««ΓóÑΓßΓóπεΘ¿⌐ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα Γá¬ªÑ «í"∩ó½Ñ¡ ¬á¬ π¬áºáΓѽ∞
- ¡á char ¿ ¿ß»«½∞ºπÑΓß∩ ó óδαáªÑ¡¿¿ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼áßß¿óá. Æá¬
- ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼áßß¿óá αáßß¼áΓα¿óáÑΓß∩ ¬á¬ áñαÑß¡«Ñ óδαáªÑ¡¿Ñ,
-
- - 113 -
-
-
- Γ« αѺπ½∞ΓáΓ «í"∩ó½Ñ¡¿∩ Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá ¬á¬ char *n íπñÑΓ
- ΓѼ ªÑ ßá¼δ¼, τΓ« ¿ char n [].
- é¡πΓα¿ Σπ¡¬µ¿¿ ½«¬á½∞¡á∩ »ÑαѼѡ¡á∩ i «»αÑñѽ∩ÑΓß∩ ¿
- ¿ß»«½∞ºπÑΓß∩ ó ¬áτÑßΓóÑ ¿¡ñѬßá ¼áßß¿óá. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ
- ßΓαπ¬Γπα¡δ⌐ φ½Ñ¼Ñ¡Γ id, Ñß½¿ φ½Ñ¼Ñ¡Γ ßΓαπ¬Γπαδ name ßαáó¡¿½ß∩ ß
- ¼áßß¿ó«¼ n, ó »α«Γ¿ó¡«¼ ß½πτáÑ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡π½∞.
-
-
- 7.2.4. ÆÑ½« Σπ¡¬µ¿¿
-
- ÆÑ½« Σπ¡¬µ¿¿ - φΓ« »α«ßΓ« ß«ßΓáó¡«⌐ «»ÑαáΓ«α. æ«ßΓáó¡«⌐
- «»ÑαáΓ«α ß«ñÑαª¿Γ «»ÑαáΓ«αδ, ¬«Γ«αδÑ «»αÑñѽ∩εΓ ñÑ⌐ßΓó¿∩ Σπ¡¬µ¿¿,
- ¿ ¼«ªÑΓ Γá¬ªÑ ß«ñÑαªáΓ∞ «í"∩ó½Ñ¡¿∩ »ÑαѼѡ¡δσ, ¿ß»«½∞ºπѼδσ ó
- φΓ¿σ «»ÑαáΓ«αáσ. ê¡Σ«α¼áµ¿ε « ß«ßΓáó¡δσ «»ÑαáΓ«αáσ ß¼«Γα¿ ó αáº-
- ñÑ½Ñ 6.3. éßÑ »ÑαѼѡ¡δÑ, «í"∩ó½Ñ¡¡δÑ ó ΓÑ½Ñ Σπ¡¬µ¿¿, ¿¼ÑεΓ Γ¿»
- »á¼∩Γ¿ auto, Ñß½¿ «¡¿ ¡Ñ «í"∩ó½Ñ¡δ ¿¡áτÑ. è«úñá óδºδóáÑΓß∩
- Σπ¡¬µ¿∩, Γ« ß«ºñáÑΓß∩ »á¼∩Γ∞ ñ½∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ ¿ »α«¿ºó«-
- ñ¿Γß∩ ¿σ ¿¡¿µ¿á½¿ºáµ¿∩ (Ñß½¿ «¡á ºáñá¡á). ô»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩
- »Ñαó«¼π «»ÑαáΓ«απ ß«ßΓáó¡«ú« «»ÑαáΓ«αá ¿ ¡áτ¿¡áÑΓß∩ »α«µÑßß
- óδ»«½¡Ñ¡¿∩, ¬«Γ«αδ⌐ »α«ñ«½ªáÑΓß∩ ñ« ΓÑσ »«α, »«¬á ¡Ñ óßΓαÑΓ¿Γß∩
- «»ÑαáΓ«α return ¿½¿ ¬«¡Ñµ Γѽá Σπ¡¬µ¿¿. ô»αáó½Ñ¡¿Ñ »α¿ φΓ«¼
- ó«ºóαáΘáÑΓß∩ ó Γ«τ¬π ó맮óá.
- àß½¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ, Γ« ñ«½ªÑ¡ íδΓ∞ óδ»«½¡Ñ¡
- «»ÑαáΓ«α return, ß«ñÑαªáΘ¿⌐ óδαáªÑ¡¿Ñ. ç¡áτÑ¡¿Ñ ó«ºóαáΓá ¡Ñ
- «»αÑñѽѡ«, Ñß½¿ ¡Ñ óδ»«½¡Ñ¡ «»ÑαáΓ«α return ¿½¿ Ñß½¿ó «»ÑαáΓ«α
- return ¡Ñ í佫 ó¬½ετÑ¡« óδαáªÑ¡¿Ñ.
-
-
- 7.3. Äí"∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿
-
- Äí"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓ ¿¼∩, Γ¿» ó«ºóαáΓá ¿ ¬½áßß »á-
- ¼∩Γ¿ ñá¡¡«⌐ Σπ¡¬µ¿¿ ¿ ¼«ªÑΓ ºáñáóáΓ∞ Γ¿» ¡Ñ¬«Γ«αδσ ¿½¿ óßÑσ áαúπ-
- ¼Ñ¡Γ«ó Σπ¡¬µ¿¿. äÑΓá½∞¡«Ñ «»¿ßá¡¿Ñ ß¿¡Γá¬ß¿ßá «í"∩ó½Ñ¡¿⌐ Σπ¡¬µ¿¿
- ñá¡« ó αáºñÑ½Ñ 4. öπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ «í"∩ó½Ñ¡δ ¡Ñ∩ó¡« ¿½¿ ó
- forward-«í"∩ó½Ñ¡¿∩¼¿. Æ¿» ó«ºóαáΓá Σπ¡¬µ¿¿, «í"∩ó½Ñ¡¡δ⌐ ¿½¿ ¡Ñ∩ó-
- ¡« ¿½¿ ó forward-«í"∩ó½Ñ¡¿¿, ñ«½ªÑ¡ ß««ΓóÑΓßΓó«óáΓ∞ Γ¿»π ó«ºóαáΓá
- ó «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿. ìÑ∩ó¡«Ñ «í"∩ó½Ñ¡¿Ñ ¿¼ÑÑΓ ¼ÑßΓ« óß∩¬¿⌐ αáº,
- ¬«úñá Σπ¡¬µ¿∩ óδºδóáÑΓß∩ íѺ »αÑñóáα¿Γѽ∞¡«ú« «í"∩ó½Ñ¡¿∩ ¿½¿ «»-
- αÑñѽѡ¿∩. æ¿-¬«¼»¿½∩Γ«α ¡Ñ∩ó¡« «í"∩ó½∩ÑΓ óδºδóáѼπε Σπ¡¬µ¿ε ß
- Γ¿»«¼ ó«ºóαáΓá int. Å« π¼«½τá¡¿ε Σπ¡¬µ¿∩ «í"∩ó½∩ÑΓß∩ ß ¬½áßß«¼
- »á¼∩Γ¿ extern. Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿ ¼«ªÑΓ »ÑαÑ«»αÑñѽ¿Γ∞ ¬½áßß »á-
- ¼∩Γ¿ ¡á static, «íÑß»Ñτ¿ó ßÑíÑ »«∩ó½Ñ¡¿Ñ ¡¿ªÑ «í"∩ó½Ñ¡¿⌐ ó Γ«¼ ªÑ
- ßἫ¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ. Forward-«í"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ πßΓá¡áó½¿óáÑΓ ÑÑ
- áΓα¿íπΓδ, »«ºó«½∩∩ óδºδóáΓ∞ «í"∩ó½Ñ¡¡πε Σπ¡¬µ¿ε »ÑαÑñ ÑÑ «»αÑñÑ-
- ½Ñ¡¿Ñ¼ ¿½¿ ¿º ñαπú«ú« ¿ßσ«ñ¡«ú« Σá⌐½á.
- àß½¿ ߻ѵ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ static ºáñáÑΓß∩ ó
- forward-«í"∩ó½Ñ¡¿¿, Γ« Σπ¡¬µ¿∩ ¿¼ÑÑΓ ¬½áßß static. Å«φΓ«¼π
- «»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿ ñ«½ª¡« íδΓ∞ Γá¬ªÑ ß»Ñµ¿Σ¿µ¿α«óá¡« ¬½áßß«¼
- »á¼∩Γ¿ static.
- àß½¿ ºáñᡠ߻ѵ¿Σ¿¬áΓ«α ¬½áßßá »á¼∩Γ¿ extern ¿½¿
- ߻ѵ¿Σ¿¬áΓ«α «»πΘÑ¡, Γ« Σπ¡¬µ¿∩ ¿¼ÑÑΓ ¬½áßß »á¼∩Γ¿ extern. Äñ¡á¬«
- «»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿ ¼«ªÑΓ »ÑαÑ«»αÑñѽ¿Γ∞ ¬½áßß »á¼∩Γ¿ ¡á static,
- «íÑß»Ñτ¿ó ßÑíÑ »«∩ó½Ñ¡¿Ñ ¡¿ªÑ «í"∩ó½Ñ¡¿⌐ ó Γ«¼ ªÑ ßἫ¼ ¿ßσ«ñ¡«¼
- Σá⌐½Ñ
- Forward-«í"∩ó½Ñ¡¿Ñ ¿¼ÑÑΓ ó᪡δÑ αẽ¿τ¡δÑ »α¿¼Ñ¡Ñ¡¿∩. Ä¡¿
-
- - 114 -
-
-
- ºáñáεΓ Γ¿» ó«ºóαáΓá ñ½∩ Σπ¡¬µ¿⌐, ¬«Γ«αδÑ ó«ºóαáΘáεΓ ½εí«⌐ Γ¿»
- º¡áτÑ¡¿⌐, ºá ¿ß¬½ετÑ¡¿Ñ¼ int. (öπ¡¬µ¿¿, ¬«Γ«αδÑ ó«ºóαΘáεΓ º¡áτÑ-
- ¡¿Ñ int, ¼«úπΓ Γá¬ªÑ ¿¼ÑΓ∞ forward-«í"∩ó½Ñ¡¿∩, ¡« ñѽáΓ∞ φΓ« ¡Ñ
- ΓαÑíπÑΓß∩).
- àß½¿ Σπ¡¬µ¿∩ ß Γ¿»«¼ ó«ºóαáΓá ¡Ñ int óδºδóáÑΓß∩ »ÑαÑñ ÑÑ
- «»αÑñѽѡ¿Ñ¼ ¿½¿ «í"∩ó½Ñ¡¿Ñ¼, Γ« αѺπ½∞ΓáΓ ¡Ñ«»αÑñѽѡ.
- Forward-«í"∩ó½Ñ¡¿∩ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ñ½∩ ºáñá¡¿∩ Γ¿»«ó áα-
- úπ¼Ñ¡Γ«ó, «ª¿ñáѼδσ ó Σπ¡¬µ¿«¡á½∞¡«¼ ó맮óÑ.
- 滿߫¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó forward-«í"∩ó½Ñ¡¿∩ ºáñáÑΓ Γ¿» ¿
- τ¿ß½« »αÑñ»«½áúáѼδσ áαúπ¼Ñ¡Γ«ó. (ù¿ß½« áαúπ¼Ñ¡Γ«ó ¼«ªÑΓ
- ¼Ñ¡∩Γ∞ß∩). 滿߫¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó - φΓ« ß»¿ß«¬ ¿¼Ñ¡ Γ¿»«ó,
- ß««ΓóÑΓßΓóπεΘ¿σ ß»¿ß¬π óδαáªÑ¡¿⌐ ó Σπ¡¬µ¿«¡á½∞¡«¼ ó맮óÑ.
- àß½¿ ß»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ¡Ñ ºáñá¡, Γ« ¡Ñ »α«¿ºó«ñ¿Γß∩
- ¬«¡Γα«½∞ Γ¿»«ó. ìÑß««ΓóÑΓßΓó¿Ñ Γ¿»«ó ¼Ñªñπ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿
- áαúπ¼Ñ¡ΓἿ ¿ Σ«α¼á½∞¡δ¼¿ »áαá¼ÑΓαἿ αáºαÑΦÑ¡«. ü«½ÑÑ ñÑΓá½∞¡«
- ¬«¡Γα«½∞ Γ¿»«ó αáßß¼«ΓαÑ¡ ó αáºñÑ½Ñ 7.4.1. "äÑ⌐ßΓó¿Γѽ∞¡δÑ
- áαúπ¼Ñ¡Γδ".
-
- Åα¿¼Ñα:
- main ()
- {
- int a=0, b=1;
-
- float x=2.0, y=3.0;
- double realadd (double,double);
- a=intadd (a,b);
- x=realadd (x,y);
- }
- intadd (a,b)
- int a,b;
- {
- return (a+b);
- }
- double realadd (x,y)
- double x,y
- {
- return (x+y);
- }
-
- é »α¿¼ÑαÑ Σπ¡¬µ¿∩ intadd «í"∩ó½Ñ¡á ¡Ñ∩ó¡« ß ó«ºóαáΓ«¼ Γ¿»á
- int, Γ.¬. «¡á óδºóá¡á »ÑαÑñ ßó«¿¼ «»αÑñѽѡ¿Ñ¼. 諼»¿½∩Γ«α ¡Ñ
- »α«óÑα¿Γ Γ¿»δ áαúπ¼Ñ¡Γ«ó ó ó맮óÑ, Γ.¬. «ΓßπΓßΓóπÑΓ ß»¿ß«¬ Γ¿»«ó
- áαúπ¼Ñ¡Γ«ó.
- öπ¡¬µ¿∩ realadd ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ Γ¿»á double.
- Forward-«í"∩ó½Ñ¡¿Ñ realadd ó Σπ¡¬µ¿¿ main »«ºó«½∩ÑΓ óδºóáΓ∞
- realadd »ÑαÑñ ÑÑ «»αÑñѽѡ¿Ñ¼. çá¼ÑΓ¿¼, τΓ« Γ¿» ó«ºóαáΓá ó
- «»αÑñѽѡ¿¿ (double) ß««ΓóÑΓßΓóπÑΓ Γ¿»π ó«ºóαáΓá, ºáñá¡¡«¼π ó
- forward-«í"∩ó½Ñ¡¿¿. é forward-«í"∩ó½Ñ¡¿¿ Γá¬ªÑ «»αÑñѽѡδ Γ¿»δ
- ñóπσ »áαá¼ÑΓα«ó Σπ¡¬µ¿¿ realadd. Æ¿»δ ñÑ⌐ßΓó¿Γѽ∞¡δσ áαúπ¼Ñ¡Γ«ó
- ß««ΓóÑΓßΓóπεΓ Γ¿»á¼ ºáñá¡¡δ¼ ó forward-«í"∩ó½Ñ¡¿¿ ¿ ΓᬪÑ
- ß««ΓóÑΓßΓóπεΓ Γ¿»á¼ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó.
-
-
-
-
- - 115 -
-
-
- 7.4. é맮óδ Σπ¡¬µ¿⌐
-
-
- é맮ó Σπ¡¬µ¿¿ - φΓ« óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ
- ¿ Σá¬Γ¿τÑ߬¿Ñ áαúπ¼Ñ¡Γδ (Ñß½¿ «¡¿ ÑßΓ∞) Σπ¡¬µ¿¿. é맮ó Σπ¡¬µ¿¿
- ¿¼ÑÑΓ ß½ÑñπεΘÑÑ ß¿¡Γá¬ß¿τÑ߬«Ñ »αÑñßΓáó½Ñ¡¿Ñ:
-
- <expression> ([<expression-list>])
-
- éδαáªÑ¡¿Ñ <expression> óδτ¿ß½∩ÑΓß∩ ¬á¬ áñαÑß Σπ¡¬µ¿¿. 滿-
- ß«¬ óδαáªÑ¡¿Ñ <expression-list>, ó ¬«Γ«α«¼ óδαáªÑ¡¿∩ ß½ÑñπεΓ τÑ-
- αѺ ºá»∩Γπε, »αÑñßΓáó½∩ÑΓ ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ áαúπ¼Ñ¡Γ«ó, »«ßδ½áÑ-
- ¼δσ Σπ¡¬µ¿¿. 滿߫¬ óδαáªÑ¡¿⌐ ¼«ªÑΓ íδΓ∞ »πßΓδ¼.
- Åα¿ óδ»«½¡Ñ¡¿¿ ó맮óá Σπ¡¬µ¿¿ »α«¿ßσ«ñ¿Γ ºá¼Ñ¡á Σ«α¼á½∞¡δσ
- áαúπ¼Ñ¡Γ«ó ¡á Σá¬Γ¿τÑ߬¿Ñ. ÅÑαÑñ ºá¼Ñ¡«⌐ ¬áªñδ⌐ ¿º Σá¬Γ¿τÑ߬¿σ
- áαúπ¼Ñ¡Γ«ó óδτ¿ß½∩ÑΓß∩. ÅÑαóδ⌐ Σá¬Γ¿τÑ߬¿⌐ áαúπ¼Ñ¡Γ ß««ΓóÑΓßΓóπÑΓ
- »Ñαó«¼π Σ«α¼á½∞¡«¼π áαúπ¼Ñ¡Γπ, óΓ«α«⌐ - óΓ«α«¼π ¿ Γ.ñ.
- éδºóá¡¡á∩ Σπ¡¬µ¿∩ αáí«ΓáÑΓ ß ¬«»¿Ñ⌐ ñÑ⌐ßΓó¿Γѽ∞¡δσ áαúπ¼Ñ¡-
- Γ«ó, »«φΓ«¼π ½εí«Ñ ¿º¼Ñ¡Ñ¡¿Ñ, ßñѽᡡ«Ñ Σπ¡¬µ¿Ñ⌐ ß áαúπ¼Ñ¡ΓἿ,
- ¡Ñ «ΓαếΓß∩ ¡á «α¿ú¿¡á½∞¡δσ óѽ¿τ¿¡áσ, ß ¬«Γ«αδσ íδ½á ßñѽá¡á
- ¬«»¿∩.
- ÅÑαÑñáτá π»αáó½Ñ¡¿∩ «ßπΘÑßΓó½∩ÑΓß∩ ¡á »Ñαóδ⌐ «»ÑαáΓ«α
- Σπ¡¬µ¿¿. éδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá return ó ΓÑ½Ñ Σπ¡¬µ¿¿ ó«ºóαáΘáÑΓ
- π»αáó½Ñ¡¿Ñ ¿, 󫺼«ª¡«, º¡áτÑ¡¿Ñ ó«ºóαáΓá ó óδºδóáεΘπε Σπ¡¬µ¿ε.
- àß½¿ «»ÑαáΓ«α return ¡Ñ óδ»«½¡Ñ¡, Γ« π»αáó½Ñ¡¿Ñ ó«ºóαáΘáÑΓß∩
- »«ß½Ñ óδ»«½¡Ñ¡¿∩ »«ß½Ññ¡Ñú« «»ÑαáΓ«αá Γѽá Σπ¡¬µ¿¿. Åα¿ φΓ«¼ óÑ-
- ½¿τ¿¡á ó«ºóαáΓá ¡Ñ «»αÑñѽѡá.
-
- é᪡«:
- éδαáªÑ¡¿∩ ó ß»¿ß¬Ñ áαúπ¼Ñ¡Γ«ó ó맮óá Σπ¡¬µ¿¿ ¼«úπΓ
- óδ»«½¡∩Γ∞ß∩ ó ½εí«¼ »«α∩ñ¬Ñ, ΓᬠτΓ« óδαáªÑ¡¿∩ ß »«í«τ¡δ¼¿
- φΣΣѬΓἿ ¼«úπΓ ñáΓ∞ ¡Ñ»αÑñ߬áºπѼδÑ αѺπ½∞ΓáΓδ. 諼»¿½∩Γ«α
- Γ«½∞¬« úáαá¡Γ¿απÑΓ, τΓ« óßÑ »«í«τ¡δÑ φΣΣѬΓδ íπñπΓ óδτ¿ß½Ñ¡δ
- »ÑαÑñ »ÑαÑñáτÑ⌐ π»αáó½Ñ¡¿∩ ó óδºδóáѼπε Σπ¡¬µ¿ε.
-
- éδαáªÑ¡¿Ñ »ÑαÑñ ߬«í¬á¼¿ ñ«½ª¡« íδΓ∞ »αÑ«íαẫóá¡« ¬ áñαÑßπ
- Σπ¡¬µ¿¿. ¥Γ« «º¡áτáÑΓ, τΓ« Σπ¡¬µ¿∩ ¼«ªÑΓ íδΓ∞ óδºóá¡á τÑαѺ ½εí«Ñ
- óδαáªÑ¡¿Ñ Γ¿»á π¬áºáΓѽ∩ ¡á Σπ¡¬µ¿ε. ¥Γ« »«ºó«½∩ÑΓ óδºδóáΓ∞
- Σπ¡¬µ¿ε ó Γ«⌐ ªÑ ßἫ⌐ ¼á¡ÑαÑ, τΓ« ¿ «í"∩ó½∩Γ∞. ¥Γ« ¡Ñ«íσ«ñ¿¼«
- »α¿ ó맮óÑ Σπ¡¬µ¿¿ τÑαѺ π¬áºáΓѽ∞. ìá»α¿¼Ñα, »αÑñ»«½«ª¿¼, τΓ«
- π¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε «í"∩ó½Ñ¡ ¬á¬ ß½ÑñπεΘ¿⌐:
-
- int (* fpointer)(int,int);
-
- êñÑ¡Γ¿Σ¿¬áΓ«α fpointer π¬áºδóáÑΓ ¡á Σπ¡¬µ¿ε ß ñóπ¼∩
- áαúπ¼Ñ¡ΓἿ Γ¿»á int ¿ ó«ºóαáΘáεΘπε º¡áτÑ¡¿Ñ Γ¿»á int. é맮ó
- Σπ¡¬µ¿¿ ó φΓ«¼ ß½πτáÑ íπñÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- (* fpointer)(3,4);
-
- çñÑß∞ ¿ß»«½∞ºπÑΓß∩ «»Ñαᵿ∩ αáºáñαÑßᵿ¿ (*), τΓ«íδ
- »«½πτ¿Γ∞ áñαÑß Σπ¡¬µ¿¿, ¡á ¬«Γ«απε ßßδ½áÑΓß∩ π¬áºáΓѽ∞ fpointer.
- ÇñαÑß Σπ¡¬µ¿¿ ºáΓѼ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ÑÑ ó맮óá.
-
- Åα¿¼Ñαδ:
- /*.....* example 1 *.....*/
- double *realcomp (double,double);
- double a,b,*rp;
-
- - 116 -
-
-
- .
- .
- .
- rp=realcomp (a,b);
-
- /*.....* example 2 *.....*/
- main ()
- {
- long lift(int), step(int), drop(int);
- void work (int, long (*) (int));
- int select, count;
- .
- .
- .
- select=1;
- switch (select) {
- case 1: work (count, lift);
- break;
- case 2: work (count, step);
- break;
- case 3: work (count, drop);
-
- default:
- break;
-
- }
- }
-
- void work (n, func)
- int n;
- long (*func)(int);
- {
- int i;
- long j;
-
- for (i=j=0; i<n;i++)
- j+=(*funk)(i);
- }
-
- é »Ñαó«¼ »α¿¼ÑαÑ Σπ¡¬µ¿∩ realcomp óδºδóáÑΓß∩ ó «»ÑαáΓ«αÑ
- rp=realcomp (a,b);. öπ¡¬µ¿¿ »ÑαÑñáÑΓß∩ ñóá áαúπ¼Ñ¡Γá Γ¿»á double.
- 髺óαáΘáѼá∩ óѽ¿τ¿¡á - π¬áºáΓѽ∞ ¡á Γ¿» double - »α¿ßóá¿óáÑΓß∩
- rp.
- é« óΓ«α«¼ »α¿¼ÑαÑ work (count, list); Σπ¡¬µ¿«¡á½∞¡δ⌐ ó맮ó
- ó Σπ¡¬µ¿¿ ¼áin »«ßδ½áÑΓ ñóá áαúπ¼Ñ¡Γá ¬ Σπ¡¬µ¿¿ work: µÑ½πε »Ñ-
- αѼѡ¡πε count ¿ áñαÑß Σπ¡¬µ¿¿ lift. çá¼ÑΓ¿¼, τΓ« áñαÑß Σπ¡¬µ¿¿
- »«ßδ½áÑΓß∩ »α«ßΓδ¼ ºáñ᡿Ѽ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Σπ¡¬µ¿¿, »«ß¬«½∞¬π
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α óδτ¿ß½∩ÑΓß∩ ¬á¬ áñαÑß¡«Ñ óδαáªÑ¡¿Ñ. ùΓ«íδ ¿ß»«½∞º«-
- óáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ »«ñ«í¡δ¼ «íαẫ¼, Σπ¡¬µ¿∩ ñ«½ª¡á íδΓ∞
- «í"∩ó½Ñ¡á ¿½¿ «»αÑñÑ½Ñ¡á »ÑαÑñ ¿ß»«½∞º«ó᡿Ѽ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá,
- ¿¡áτÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡Ñ íπñÑΓ αáß»«º¡á¡. é ñá¡¡«¼ »α¿¼ÑαÑ ºáñá¡«
- forward-«í"∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ work ó ¡áτá½Ñ Σπ¡¬µ¿¿ main.
- ö«α¼á½∞¡δ⌐ »áαá¼ÑΓα funk ó «»αÑñѽѡ¿¿ work ºáñá¡ ¬á¬ π¬á-
- ºáΓѽ∞ ¡á Σπ¡¬µ¿ε, »α¿¡¿¼áεΘπε «ñ¿¡ áαúπ¼Ñ¡Γ Γ¿»á int ¿
- ó«ºóαáΘáεΘπε º¡áτÑ¡¿Ñ Γ¿»á long. æ¬«í¬¿, ºá¬½ετáεΘ¿Ñ ¿¼∩
-
- - 117 -
-
-
- »áαá¼ÑΓαá, ΓαÑíπεΓß∩. üѺ ¡¿σ «í"∩ó½Ñ¡¿Ñ ߻ѵ¿Σ¿µ¿α«óὫ íδ
- Σπ¡¬µ¿ε, ó«ºóαáΘáεΘπε π¬áºáΓѽ∞ ¡á óѽ¿τ¿¡π Γ¿»á long.
- öπ¡¬µ¿∩ work óδºδóáÑΓ óδíαá¡¡πε Σπ¡¬µ¿ε ó ó맮óÑ
-
- (* funk)(i);
-
- Çαúπ¼Ñ¡Γ i »«ßδ½áÑΓß∩ ¬ óδºδóáѼ«⌐ Σπ¡¬µ¿¿.
-
-
- 7.4.1. öá¬Γ¿τÑ߬¿Ñ áαúπ¼Ñ¡Γδ
-
- öá¬Γ¿τÑ߬¿Ñ áαúπ¼Ñ¡Γδ ¼«úπΓ íδΓ∞ ½εí«⌐ óѽ¿τ¿¡«⌐ «ß¡«ó¡«ú«,
- ßΓαπ¬Γπα¡«ú«, ß«ó¼ÑΘáεΘÑú« ¿½¿ áñαÑß¡«ú« Γ¿»«ó. ò«Γ∩ ¼áßß¿óδ ¿
- Σπ¡¬µ¿¿ ¡Ñ ¼«úπΓ íδΓ∞ »ÑαÑñá¡δ ¬á¬ »áαá¼ÑΓαδ, ¡« π¬áºáΓѽ¿ ¡á φΓ¿
- «í"ѬΓδ ¼«úπΓ »ÑαÑñáóáΓ∞ß∩.
- éßÑ Σá¬Γ¿τÑ߬¿Ñ áαúπ¼Ñ¡Γδ »ÑαÑñáεΓß∩ »« º¡áτÑ¡¿ε. è«»¿∩
- Σá¬Γ¿τÑ߬¿σ áαúπ¼Ñ¡Γ«ó »α¿ßóá¿óáÑΓß∩ ß««ΓóÑΓßΓóπεΘ¿¼ Σ«α¼á½∞¡δ¼
- »áαá¼ÑΓαá¼. öπ¡¬µ¿∩ ¿ß»«½∞ºπÑΓ φΓ¿ ¬«»¿¿, ¡Ñ ó½¿∩∩ ¡á »ÑαѼѡ¡δÑ,
- ß ¬«Γ«αδσ ¬«»¿∩ íδ½á ßñѽá¡á.
- ÅπΓ∞ ñ«ßΓπ»á ¿º Σπ¡¬µ¿¿ ¬ º¡áτÑ¡¿∩¼ «α¿ú¿¡á½∞¡δσ »ÑαѼѡ¡δσ
- «íÑß»Ñτ¿óáεΓ π¬áºáΓѽ¿. Æ.¬. π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε ß«ñÑনΓ
- áñαÑß »ÑαѼѡ¡«⌐, Γ« Σπ¡¬µ¿∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ φëà áñαÑß ñ½∩
- ñ«ßΓπ»á ¬ º¡áτÑ¡¿ε »ÑαѼѡ¡«⌐. Çαúπ¼Ñ¡Γδ-π¬áºáΓѽ¿ «íÑß»Ñτ¿óáεΓ
- ñ«ßΓπ» ¿º Σπ¡¬µ¿¿ ¬ ¼áßß¿óá¼ ¿ Σπ¡¬µ¿∩¼, ¬«Γ«αδÑ ºá»αáΘÑ¡«
- »ÑαÑñáóáΓ∞ ¬á¬ áαúπ¼Ñ¡Γδ.
- éδαáªÑ¡¿∩ ó ó맮óÑ Σπ¡¬µ¿¿ óδτ¿ß½∩εΓß∩ ¿ »αÑ«íαáºπεΓß∩
- ß½ÑñπεΘ¿¼ «íαẫ¼:
- - Ñß½¿ «í"∩ó½Ñ¡ ß»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó, Γ« ñ½∩ ¬áªñ«ú«
- Σá¬Γ¿τÑ߬«ú« áαúπ¼Ñ¡Γá ó맮óá Σπ¡¬µ¿¿ óδ»«½¡∩εΓß∩ «íδτ¡δÑ
- áα¿Σ¼ÑΓ¿τÑ߬¿Ñ »αÑ«íαẫóá¡¿∩ ñ½∩ ß««ΓóÑΓßΓóπεΘÑú« Γ¿»á,
- «í"∩ó½Ñ¡¡«ú« ó ß»¿ß¬Ñ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ¿ ñ½∩ Σá¬Γ¿τÑ߬¿σ
- áαúπ¼Ñ¡Γ«ó. öá¬Γ¿τÑ߬¿⌐ áαúπ¼Ñ¡Γ »α¿ó«ñ¿Γß∩ ¬ φΓ«¼π Γ¿»π. çáΓѼ
- Γ¿» »αÑ«íαẫóá¡¡«ú« óδαáªÑ¡¿∩ ßαáó¡¿óáÑΓß∩ ß Γ¿»«¼
- ß««ΓóÑΓßΓóπεΘÑú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá, ¬«Γ«αδ⌐ ºáñá¡ ó ºáú«½«ó¬Ñ
- «»αÑñѽѡ¿∩ Σπ¡¬µ¿¿. ÅÑαÑñ ßαáó¡Ñ¡¿Ñ¼ Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ ΓᬪÑ
- »«ñóÑαúáεΓß∩ «íδτ¡δ¼ áα¿Σ¼ÑΓ¿τÑ߬¿¼ »αÑ«íαẫóá¡¿∩¼. Åα¿óÑñÑ¡¿∩
- Γ¿»«ó ¡Ñ »α«¿ºó«ñ¿Γß∩, ¡« ¬«¼»¿½∩Γ«α óδñáÑΓ óßÑ »αÑñπ»αѪñÑ¡¿∩,
- ¬á¬ íπñΓ« íδ óδαáªÑ¡¿Ñ »α¿ßóá¿óáÑΓß∩ Σ«α¼á½∞¡«¼π »áαá¼ÑΓαπ;
- - Ñß½¿ ß»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ¡Ñ «í"∩ó½Ñ¡, ¿½¿ Ñß½¿ Σá¬Γ¿-
- τÑ߬¿σ áαúπ¼Ñ¡Γ«ó í«½∞ΦÑ, τѼ ºáñá¡« ¿¼Ñ¡-Γ¿»«ó ó ß»¿ß¬Ñ Γ¿»«ó
- áαúπ¼Ñ¡Γ«ó, Γ« «íδτ¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ »αÑ«íαẫóá¡¿∩ »α«¿ºó«ñ∩Γß∩
- ñ½∩ ¬áªñ«ú« áαúπ¼Ñ¡Γá, ¡Ñ ¿¼ÑεΘÑú« ß««ΓóÑΓßΓóπεΘÑú« ¿¼Ñ¡¿-Γ¿»á;
- - Ñß½¿ αÑ὿º«óá¡δ ¬½ετÑóδÑ ß½«óá near, far, huge, Γ« ¼«úπΓ
- íδΓ∞ óδ»«½¡Ñ¡δ ºáó¿ß∩Θ¿Ñ «Γ αÑ὿ºáµ¿¿ »αÑ«íαẫóá¡¿∩ áñαÑß¡δσ
- áαúπ¼Ñ¡Γ«ó. 漫Γα¿ΓÑ ß¿ßΓѼ¡πε ñ«¬π¼Ñ¡Γáµ¿ε «í áñαÑß¡δσ
- »αÑ«íαẫóá¡¿∩σ. ù¿ß½« óδαáªÑ¡¿⌐, ºáñá¡¡δσ ó ß»¿ß¬Ñ ó맮óá, ñ«½ª-
- ¡« íδΓ∞ αáó¡« τ¿ß½π Σ«α¼á½∞¡δσ áαúπ¼Ñ¡Γ«ó, Ñß½¿ ∩ó¡« ¡Ñ
- ߻ѵ¿Σ¿µ¿α«óá¡« »ÑαѼѡ¡«Ñ τ¿ß½« áαúπ¼Ñ¡Γ«ó. é »«ß½Ññ¡Ñ¼ ß½πτáÑ
- ¬«¼»¿½∩Γ«α »α«óÑα∩ÑΓ ßΓ«½∞¬« áαúπ¼Ñ¡Γ«ó, ߬«½∞¬« ¿σ ºáñá¡« ó
- ß»¿ß¬Ñ Γ¿»«ó áαúπ¼Ñ¡Γ«ó, ¿ »αÑ«íαáºπÑΓ ¿σ, Ñß½¿ ¡Ñ«íσ«ñ¿¼«, ¬á¬
- «»¿ßá¡« óδΦÑ;
- - Ñß½¿ ß»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ß«ñÑαª¿Γ ß»Ñµ¿á½∞¡«Ñ ¿¼∩
- Γ¿»á void, Γ« ¬«¼»¿½∩Γ«α «ª¿ñáÑΓ ¡π½∞ Σá¬Γ¿τÑ߬¿σ áαúπ¼Ñ¡Γ«ó ó
- ó맮óÑ Σπ¡¬µ¿¿ ¿ ¡π½∞ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó. Ä¡ óδñáÑΓ »αÑñπ»αѪ-
- ñÑ¡¿Ñ, Ñß½¿ φΓ« íπñÑΓ ¡Ñ Γá¬.
-
- - 118 -
-
-
- Æ¿» ¬áªñ«ú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá Γá¬ªÑ »«ñóÑαúáÑΓß∩
- «íδτ¡δ¼ áα¿Σ¼ÑΓ¿τÑ߬¿¼ »αÑ«íαẫóá¡¿∩¼. ÅαÑ«íαẫóá¡¡δ⌐ Γ¿» ¬áª-
- ñ«ú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá «»αÑñѽ∩ÑΓ, ¬á¬¿¼ «íαẫ¼
- ¿¡ΓÑα»αÑΓ¿απεΓß∩ áαúπ¼Ñ¡Γδ ó ßΓѬÑ. àc½¿ Γ¿» Σ«α¼á½∞¡«ú«
- »áαá¼ÑΓαá ¡Ñ ß««ΓóÑΓßΓóπÑΓ Γ¿»π Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá, Γ« ñá¡¡δÑ
- ó ßΓÑ¬Ñ ¼«úπΓ íδΓ∞ »α«¿¡ΓÑα»αÑΓ¿α«óá¡δ ¡ÑóÑα¡«.
-
- çá¼Ñτá¡¿Ñ.
- ìÑß««ΓóÑΓßΓó¿Ñ Γ¿»«ó Σ«α¼á½∞¡δσ ¿ Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó
- ¼«ªÑΓ »α«¿ºóÑßΓ¿ ßÑα¿ε «Φ¿í«¬, «ß«íÑ¡¡« ¬«úñá ¡Ñß««ΓóÑΓßΓó¿Ñ ó½Ñ-
- τÑΓ ºá ß«í«⌐ «Γ½¿τ¿∩ ó αẼÑαáσ. ìπª¡« ¿¼ÑΓ∞ ó ó¿ñπ, τΓ« φΓ¿
- «Φ¿í¬¿ ¡Ñ óδ∩ó½∩εΓß∩, Ñß½¿ ¡Ñ ºáñá¡ ß»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ó
- forward-«í"∩ó½Ñ¡¿¿ Σπ¡¬µ¿¿.
-
- Åα¿¼Ñα:
-
- main ()
- {
- void swap (int *, int *);
- int x, y;
- .
- .
- .
- swap (&x,&y);
- }
-
- void swap (a,b)
- int *a, *b;
- {
- int t;
-
- t=*a;
- *a=*b;
- *b=t;
-
- }
-
- é »α¿¼ÑαÑ Σπ¡¬µ¿∩ swap «í"∩ó½Ñ¡á ó main ¬á¬ Σπ¡¬µ¿∩ ß ñóπ¼∩
- áαúπ¼Ñ¡ΓἿ Γ¿»á π¬áºáΓѽÑ⌐ ¡á int. ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ a ¿ b
- «í"∩ó½Ñ¡δ ΓᬠªÑ, ¬á¬ π¬áºáΓѽ¿ ¡á µÑ½δÑ óѽ¿τ¿¡δ. Åα¿ ó맮óÑ
- Σπ¡¬µ¿¿
-
- swar (&x,&y)
-
- áñαÑß x ºá»«¼¿¡áÑΓß∩ ó a ¿ áñαÑß y ºá»«¼¿¡áÑΓß∩ ó b. ÆÑ»Ñα∞
- ñóá ¿¼Ñ¡¿ ¿½¿ "ß¿¡«¡¿¼á" ßπΘÑßΓóπÑΓ ñ½∩ «ñ¡«⌐ ¿ Γ«⌐ ªÑ ∩τÑ⌐¬¿.
- æß佬¿ *a ¿ *b ó Σπ¡¬µ¿¿ swap ñÑ⌐ßΓóπεΓ Γ«τ¡« ΓᬠªÑ, ¬á¬ x ¿ y ó
- main. Åα¿ßóá¿óá¡¿Ñ ó¡πΓα¿ Σπ¡¬µ¿¿ swap ¿º¼Ñ¡∩ÑΓ ß«ñÑন¼«Ñ x ¿ y.
- 諼»¿½∩Γ«α »α«óÑñÑΓ »α«óÑα¬π Γ¿»«ó áαúπ¼Ñ¡Γ«ó »α¿ ó맮óÑ swap,
- »«ß¬«½∞¬π ¿¼ÑÑΓß∩ ß»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ó forward-«í"∩ó½Ñ¡¿¿
- swap. Æ¿»δ Σá¬Γ¿τÑ߬¿σ áαúπ¼Ñ¡Γ«ó ß««ΓóÑΓßΓóπεΓ ß»¿ß¬π Γ¿»«ó
- áαúπ¼Ñ¡Γ«ó ¿ ß»¿ß¬π Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó.
-
-
-
- - 119 -
-
-
- 7.4.2. é맮óδ ß »ÑαѼѡ¡δ¼ τ¿ß½«¼ áαúπ¼Ñ¡Γ«ó
-
- ùΓ«íδ óδºóáΓ∞ Σπ¡¬µ¿ε ß »ÑαѼѡ¡δ¼ τ¿ß½«¼ áαúπ¼Ñ¡Γ«ó, ó óδ-
- º«óÑ Σπ¡¬µ¿¿ »α«ßΓ« ºáñáÑΓß∩ ½εí«Ñ τ¿ß½« áαúπ¼Ñ¡Γ«ó. é
- forward-«í"∩ó½Ñ¡¿¿ (Ñß½¿ «¡« ÑßΓ∞) »ÑαѼѡ¡«Ñ τ¿ß½« áαúπ¼Ñ¡Γ«ó
- ߻ѵ¿Σ¿µ¿απÑΓß∩ ºá»¿ß∞ε ºá»∩Γ«⌐ ß »«ß½ÑñπεΘ¿¼ ¼¡«ú«Γ«τ¿Ñ¼ (,...)
- ó ¬«¡µÑ ß»¿ß¬á Γ¿»«ó áαúπ¼Ñ¡Γ«ó (ß¼«Γα¿ αáºñѽ 4.5.). èáªñ«¼π
- ¿¼Ñ¡¿ Γ¿»á, ߻ѵ¿Σ¿µ¿α«óá¡¡«¼π ó ß»¿ß¬Ñ Γ¿»«ó áαúπ¼Ñ¡Γ«ó, ß««Γ-
- óÑΓßΓóπÑΓ «ñ¿¡ Σá¬Γ¿τÑ߬¿⌐ áαúπ¼Ñ¡Γ ó ó맮óÑ Σπ¡¬µ¿¿. àß½¿ ºáñá¡«
- Γ«½∞¬« ¼¡«ú«Γ«τ¿Ñ (íѺ ¿¼Ñ¡ Γ¿»«ó), Γ« φΓ« º¡áτ¿Γ, τΓ« ¡ÑΓ áαúπ-
- ¼Ñ¡Γ«ó, ¬«Γ«αδÑ «í∩ºáΓѽ∞¡« ΓαÑíπεΓß∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿.
- ǡὫú¿τ¡«, ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó ó «»αÑñѽѡ¿¿ Σπ¡¬µ¿¿ ¼«ªÑΓ
- Γá¬ªÑ ºá¬á¡τ¿óáΓ∞ß∩ ºá»∩Γ«⌐ ß »«ß½ÑñπεΘ¿¼ ¼¡«ú«Γ«τ¿Ñ¼ (,...), τΓ«
- »«ñαáºπ¼ÑóáÑΓ »ÑαѼѡ¡«Ñ τ¿ß½« áαúπ¼Ñ¡Γ«ó. àß½¿ ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó
- ß«ñÑαª¿Γ Γ«½∞¬« ¼¡«ú«Γ«τ¿Ñ (...), Γ« τ¿ß½« áαúπ¼Ñ¡Γ«ó »ÑαѼѡ¡«
- ¿½¿ αáó¡« ¡π½ε. ü«½ÑÑ »«ñα«í¡á∩ ¿¡Σ«α¼áµ¿∩ ñá¡á ó αáºñÑ½Ñ 7.2.
-
- çá¼Ñτá¡¿Ñ.
- ä½∩ »«ññÑ᪬¿ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß »αÑñδñπΘ¿¼¿ óÑαß¿∩¼¿ ¬«¼-
- »¿½∩Γ«α ó«ß»α¿¡¿¼áÑΓ ñ½∩ «í«º¡áτÑ¡¿∩ »ÑαѼѡ¡«ú« τ¿ß½á áαúπ¼Ñ¡Γ«ó
- ß¿¼ó«½ ºá»∩Γ«⌐ íѺ »«ß½ÑñπεΘÑú« ¼¡«ú«Γ«τ¿∩ ó ¬«¡µÑ ß»¿ß¬á Γ¿»«ó
- áαúπ¼Ñ¡Γ«ó ¿½¿ ß»¿ß¬á »áαá¼ÑΓα«ó. Æá¬ ªÑ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á
- «Γñѽ∞¡á∩ ºá»∩Γá∩ ó¼ÑßΓ« ¼¡«ú«Γ«τ¿∩ ñ½∩ «í"∩ó½Ñ¡¿∩ ¿ «»αÑñѽѡ¿∩
- Σπ¡¬µ¿⌐, ΓαÑíπεΘ¿σ ¡π½∞ ¿½¿ í«½ÑÑ áαúπ¼Ñ¡Γ«ó. êß»«½∞º«óá¡¿Ñ
- ºá»∩Γ«⌐ »«ññÑনóáÑΓß∩ Γ«½∞¬« ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿. åѽáΓѽ∞¡«
- ¿ß»«½∞º«óáΓ∞ ó ¡«ó«⌐ óÑαß¿¿ ¼¡«ú«Γ«τ¿Ñ.
-
- éßÑ áαúπ¼Ñ¡Γδ, ºáñá¡¡δÑ ó óÑαß¿¿ Σπ¡¬µ¿¿, αẼÑΘáεΓß∩ ó
- ßΓѬÑ. 諽¿τÑßΓó« Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó, «í"∩ó½Ñ¡¡δσ ñ½∩ Σπ¡¬µ¿¿,
- «»αÑñѽ∩ÑΓ τ¿ß½« áαúπ¼Ñ¡Γ«ó, ¬«Γ«αδÑ íÑαπΓß∩ ¿º ßΓÑ¬á ¿ »α¿ßóá¿-
- óáεΓß∩ Σ«α¼á½∞¡δ¼ »áαá¼ÑΓαá¼. Åα«úαá¼¼¿ßΓ «ΓóÑτáÑΓ ºá óδí«α ½¿Φ-
- ¡¿σ áαúπ¼Ñ¡Γ«ó ¿º ßΓÑ¬á ¿ ºá Γ«, ߬«½∞¬« áαúπ¼Ñ¡Γ«ó ¡áσ«ñ¿Γß∩ ó
- ßΓѬÑ. 漫Γα¿ΓÑ ó ß¿ßΓѼ¡«⌐ ñ«¬π¼Ñ¡Γᵿ¿ ¿¡Σ«α¼áµ¿ε « ¼á¬α«ßáσ,
- ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ñ½∩ π»αáó½Ñ¡¿∩ »ÑαѼѡ¡δ¼ τ¿ß½«¼
- áαúπ¼Ñ¡Γ«ó.
-
-
- 7.4.3. ÉѬπαß¿ó¡δÑ ó맮óδ
-
- ïεíá∩ Σπ¡¬µ¿∩ ó æ¿-»α«úαá¼¼Ñ ¼«ªÑΓ íδΓ∞ óδºóá¡á αѬπαß¿ó¡«.
- ä½∩ φΓ«ú« Σπ¡¬µ¿∩ óδºδóáÑΓ ßá¼π ßÑí∩. 諼»¿½∩Γ«α æ¿ ñ«»π߬áÑΓ ½ε-
- í«Ñ τ¿ß½« αѬπαß¿ó¡δσ ó맮ó«ó Σπ¡¬µ¿¿. Åα¿ ¬áªñ«¼ ó맮óÑ Σ«α¼á½∞-
- ¡δσ »áαá¼ÑΓα«ó ¿ »ÑαѼѡ¡δσ ¬½áßßá »á¼∩Γ¿ auto ¿ register ºáσóá-
- ΓδóáÑΓß∩ ¡«óá∩ »á¼∩Γ∞, ΓᬠτΓ« ¿σ º¡áτÑ¡¿∩ ¿º »αÑñΦÑßΓóπεΘ¿σ ¡Ñ-
- ºáóÑαΘÑ¡¡δσ ó맮ó«ó ¡Ñ »ÑαѺỿßδóáεΓß∩. ÅαÑñΦÑßΓóπεΘ¿Ñ »áαá¼ÑΓαδ
- ¡Ññ«ßΓπ»¡δ ó ñαπú¿σ óÑαß¿∩σ Σπ¡¬µ¿¿, ¿ß¬½ετá∩ óÑαß¿ε, ó ¬«Γ«α«⌐
- «¡¿ í뫨 ß«ºñá¡δ.
- çá¼ÑΓ¿¼, τΓ« »ÑαѼѡ¡δÑ, «í"∩ó½Ñ¡¡δÑ ¬á¬ ú½«íá½∞¡δÑ, ¡Ñ
- ΓαÑíπεΓ ¡«ó«⌐ »á¼∩Γ¿ »α¿ ¬áªñ«¼ αѬπα߿󡫼 ó맮óÑ. êσ »á¼∩Γ∞
- ß«σαá¡∩ÑΓß∩ ¡á óßÑ óαѼ∩ ª¿º¡¿ »α«úαá¼¼δ.
- ò«Γ∩ æ¿ ¬«¼»¿½∩Γ«α ¡Ñ «úαá¡¿τ¿óáÑΓ τ¿ß½« αѬπαß¿ó¡δσ ó맮-
- ó«ó Σπ¡¬µ¿¿, «»Ñαᵿ«¡¡«Ñ «¬απªÑ¡¿Ñ ¼«ªÑΓ ¡á½áúáΓ∞ »αá¬Γ¿τÑ߬¿Ñ
- «úαá¡¿τÑ¡¿∩. Æá¬ ¬á¬ ¬áªñδ⌐ αѬπαß¿ó¡δ⌐ ó맮ó ΓαÑíπÑΓ ñ«»«½-
- ¡¿Γѽ∞¡«⌐ ßΓѬ«ó«⌐ »á¼∩Γ¿, Γ« ß½¿Φ¬«¼ ¼¡«ú« αѬπαß¿ó¡δσ ó맮ó«ó
- ¼«úπΓ »ÑαÑ»«½¡¿Γ∞ ßΓѬ.
-
-
- - 120 -
-
-
-
-
- 8. äêÉàèÆêé¢ ÅÉàÅÉÄûàææÄÉÇ ê ôèÇçÇìêƒ èÄîÅêïƒÆÄÉô
-
-
- ä¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá - φΓ« ¿¡ßΓαπ¬µ¿¿, »αÑñ¡áº¡áτÑ¡¡δÑ
- ñ½∩ »αÑ»α«µÑß«αá æ¿. ÅαÑ»α«µÑßß«α æ¿ - φΓ« ΓѬßΓ«óδ⌐ »α«µÑßß«α,
- ¿ß»«½∞ºπѼδ⌐ ñ½∩ «íαáí«Γ¬¿ ΓѬßΓ«ó«ú« ¿ßσ«ñ¡«ú« Σá⌐½á ¡á »Ñαó«⌐
- ΣáºÑ ¬«¼»¿½∩µ¿¿. 諼»¿½∩Γ«α «íδτ¡« óδºδóáÑΓ »αÑ»α«µÑßß«α ó ßó«Ñ¼
- »Ñαó«¼ »α«σ«ñÑ, «ñ¡á¬« »αÑ»α«µÑßß«α ¼«ªÑΓ íδΓ∞ óδºóá¡ áóΓ«¡«¼¡«
- ñ½∩ «íαáí«Γ¬¿ ΓѬßΓá íѺ ¬«¼»¿½∩µ¿¿.
- ä¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá «íδτ¡« ¿ß»«½∞ºπεΓß∩ ñ½∩ Γ«ú«, τΓ«íδ
- ßñѽáΓ∞ ¿ßσ«ñ¡δÑ »α«úαá¼¼δ »α«ΘÑ ñ½∩ ¼«ñ¿Σ¿¬áµ¿¿ ¿ τΓ«íδ
- «ßπΘÑßΓó½∩Γ∞ ¬«¼»¿½∩µ¿ε ñ½∩ αẽ¿τ¡δσ αÑ὿ºáµ¿⌐ ¬«¼»¿½∩Γ«αá æ¿.
- ä¿αÑ¬Γ¿óδ ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ ¿¡ßΓαπ¬Γ¿απεΓ »αÑ»α«µÑßß«α « óδ»«½¡Ñ-
- ¡¿¿ «»αÑñѽѡ¡δσ ñÑ⌐ßΓó¿⌐. ìá»α¿¼Ñα, »αÑ»α«µÑßß«α ¼«ªÑΓ ºá¼Ñ¡¿Γ∞
- ½Ñ¬ßѼδ ó ΓѬßΓÑ, óßΓáó¿Γ∞ ß«ñÑন¼«Ñ ñαπú¿σ Σá⌐½«ó ó ¿ßσ«ñ¡δ⌐
- Σá⌐½, ºá»αÑΓ¿Γ∞ ¬«¼»¿½∩µ¿ε τáßΓ¿ Σá⌐½á ¿ Γ.ñ.
- ÅαÑ»α«µÑßß«α æ¿ αáß»«º¡áÑΓ ß½ÑñπεΘ¿Ñ ñ¿αÑ¬Γ¿óδ:
-
-
- # define # if # line
- # elif # ifdef # undef
- # else # ifndef
- # endif # include
-
- ç¡á¬ ¡«¼Ñαá (#) ñ«½ªÑ¡ íδΓ∞ »Ñαóδ¼ (íѺ »αÑñΦÑßΓóπεΘ¿σ
- »α«íѽ∞¡δσ ß¿¼ó«½«ó) ó ßΓ᫬Ñ, ß«ñÑαªáΘÑ⌐ ñ¿αÑ¬Γ¿óπ. Åα«íѽ∞¡δÑ
- ß¿¼ó«½δ ñ«»π߬áεΓß∩ ¼Ñªñπ º¡á¬«¼ ¡«¼Ñαá ¿ »Ñαó«⌐ íπ¬ó«⌐
- ñ¿αÑ¬Γ¿óδ. ìѬ«Γ«αδÑ ñ¿αÑ¬Γ¿óδ ΓαÑíπεΓ áαúπ¼Ñ¡Γδ ¿½¿ º¡áτÑ¡¿∩.
- ä¿αÑ¬Γ¿óδ ¼«úπΓ »«∩ó½∩Γ∞ß∩ úñÑ πú«ñ¡« ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ, ¡« «¡¿
- »α¿¼Ñ¡¿¼δ Γ«½∞¬« ¬ «ßΓáΓ¬π ¿ßσ«ñ¡«ú« Σá⌐½á «Γ ¼ÑßΓá, úñÑ «¡¿
- »«∩󿽿ß∞.
- ô¬áºá¡¿∩ ¬«¼»¿½∩Γ«απ - φΓ« ¬«¼á¡ñδ, ¬«Γ«αδÑ óßΓáó½∩εΓß∩ ó
- ΓѬßΓ ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ æ¿ ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ π»αáó½Ñ¡¿∩
- ñÑ⌐ßΓó¿∩¼¿ ¬«¼»¿½∩Γ«αá ó «»αÑñѽѡ¡δσ τáßΓ∩σ »α«úαá¼¼δ, ¡Ñ ó½¿∩∩
- ¡á »α«úαá¼¼π ó µÑ½«¼. é αáºñÑ½Ñ 8.6 «»¿ßδóáÑΓß∩ ß¿¡Γá¬ß¿ß π¬áºá-
- ¡¿⌐ ¬«¼»¿½∩Γ«απ. Äñ¡á¬« ¡áí«α π¬áºá¡¿⌐ ¬«¼»¿½∩Γ«απ ¿ ¿σ ß¼δß½ ºá-
- ó¿ß∩Γ «Γ αÑ὿ºáµ¿¿. 漫Γα¿ΓÑ ß¿ßΓѼ¡πε ñ«¬π¼Ñ¡Γᵿε ñ½∩
- »«½πτÑ¡¿∩ ¿¡Σ«α¼áµ¿¿ «í ¿ß»«½∞º«óá¡¿¿ ¿ ñÑ⌐ßΓó¿∩σ π¬áºá¡¿⌐ ¬«¼-
- »¿½∩Γ«απ.
-
-
- 8.1. Å«¿¼Ñ¡«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¿ ¼á¬α«ßδ
-
- ä¿αÑ¬Γ¿óá # define «íδτ¡« ¿ß»«½∞ºπÑΓß∩ ñ½∩ ßó∩º¿ ¼¡Ñ¼«-
- ¡¿τ¡δσ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ß ¬«¡ßΓá¡ΓἿ, ¬½ετÑó묨 ß½«óἿ,
- «»ÑαáΓ«αἿ ¿ óδαáªÑ¡¿∩¼¿, ¬«Γ«αδÑ τáßΓ« ¿ß»«½∞ºπεΓß∩.
- êñÑ¡ñΓ¿Σ¿¬áΓ«αδ, ¬«Γ«αδÑ »αÑñßΓáó½∩εΓ ¬«¡ßΓá¡Γδ, ¡áºδóáεΓß∩ »«¿-
- ¼Ñ¡«óá¡¡δ¼¿ ¬«¡ßΓá¡ΓἿ. êñÑ¡Γ¿Σ¿¬áΓ«αδ, ¬«Γ«αδÑ »αÑñßΓáó½∩εΓ
- «»ÑαáΓ«αδ ¿½¿ óδαáªÑ¡¿∩, ¡áºδóáεΓß∩ ¼á¬α«ßἿ.
- êñÑ¡Γ¿Σ¿¬áΓ«α ¡Ñ ¼«ªÑΓ íδΓ∞ »ÑαÑ«»αÑñѽѡ íѺ «Γ¼Ñ¡δ »Ñαó«-
- ú« «»αÑñѽѡ¿∩. Äñ¡á¬«, ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ªÑΓ íδΓ∞ »ÑαÑ«»αÑñѽѡ
- Γ«τ¡« Γᬿ¼ ªÑ «»αÑñѽѡ¿Ñ¼. Æá¬¿¼ «íαẫ¼ ó »α«úαá¼¼Ñ ñ«»π߬áÑΓ-
- ß∩ »«óΓ«αÑ¡¿Ñ «ñ¡«ú« ¿ Γ«ú« ªÑ «»αÑñѽѡ¿∩.
-
- - 121 -
-
-
- ä¿αÑ¬Γ¿óá # undef «Γ¼Ñ¡∩ÑΓ «»αÑñѽѡ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá. è«ú-
- ñá «»αÑñѽѡ¿Ñ «Γ¼Ñ¡Ñ¡«, Γ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ªÑΓ íδΓ∞ ß«»«ßΓáó½Ñ¡
- ß ñαπú¿¼ º¡áτÑ¡¿Ñ¼. îá¬α«ßδ ¼«úπΓ íδΓ∞ «»αÑñÑ½Ñ¡δ »« «íαáºπ ¿ »«-
- ñ«í¿ε ß ó맮óἿ Σπ¡¬µ¿⌐. ū߬«½∞¬π ¼á¬α«ßδ ¡Ñ óδαáíáΓδóáεΓ
- ñÑ⌐ßΓó¿Γѽ∞¡δσ ó맮ó«ó Σπ¡¬µ¿⌐, Γ« ºá¼Ñ¡á ó맮ó«ó Σπ¡¬µ¿⌐
- ¼á¬α«ßἿ ¼«ªÑΓ »«óδß¿Γ∞ ߬«α«ßΓ∞ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. Äñ¡á¬«
- ¼á¬α«ßδ ß«ºñáεΓ »α«í½Ñ¼δ, Ñß½¿ «¡¿ ΓΘáΓѽ∞¡« ¡Ñ «»αÑñѽѡδ.
- îá¬α«-«»αÑñѽѡ¿∩ ß áαúπ¼Ñ¡ΓἿ ¼«úπΓ »«ΓαÑí«óáΓ∞ ¿ß»«½∞º«óá¡¿∩
- ¬απú½δσ ߬«í«¬ ñ½∩ «»αÑñѽѡ¿∩ ßΓáαΦ¿¡ßΓóá «»Ñαᵿ⌐ ó óδαáªÑ¡¿∩σ.
- îá¬α«ßδ ¼«úπΓ ¡Ñ¬«ααÑ¬Γ¡« »«ó½¿∩Γ∞ ¡á óδαáªÑ¡¿∩ ß »«í«τ¡δ¼¿
- φΣѬΓἿ. 漫Γα¿ΓÑ »α¿¼Ñαδ ó αáºñÑ½Ñ 8.2.1 ñ½∩ í«½ÑÑ »«½¡«⌐
- ¿¡Σ«α¼áµ¿¿.
-
-
-
- 8.1.1. ä¿αÑ¬Γ¿óá # define
-
- æ¿¡Γá¬ß¿ß:
-
- # define <identifier><text>
- # define <identifier>(<parameter-list>)<text>
-
- ä¿αÑ¬Γ¿óá # define ºá¼Ñ¡∩ÑΓ óßÑ óσ«ªñÑ¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá
- <identifier> ó ¿ßσ«ñ¡«⌐ »α«úαá¼¼Ñ ¡á <text>, «»αÑñѽѡ¡δ⌐ ó
- ñ¿αÑ¬Γ¿óÑ ß»αáóá «Γ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá. êñÑ¡Γ¿Σ¿¬áΓ«α ºá¼Ñ¡∩ÑΓß∩,
- Ñß½¿ «¡ «Σ«α¼½Ñ¡ ó ó¿ñÑ ½Ñ¬ßѼδ. ìá»α¿¼Ñα, ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡Ñ ¿º-
- ¼Ñ¡∩ÑΓß∩, Ñß½¿ «¡ »αÑñßΓáó½Ñ¡ ó¡πΓα¿ ßΓ᫬¿ ¿½¿ ¬á¬ τáßΓ∞ í«½ÑÑ
- ñ½¿¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá. àß½¿ »«ß½Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ß½ÑñπÑΓ ß»¿ß«¬
- »áαá¼ÑΓα«ó <parameter-list>, Γ« ñ¿αÑ¬Γ¿óá # define ºá¼Ñ¡∩ÑΓ ¬áª-
- ñ«Ñ óσ«ªñÑ¡¿Ñ óδαáªÑ¡¿∩ <identifier (parameter-list) ¡á <text>,
- ¼«ñ¿Σ¿µ¿α«óá¡¡δ⌐ ºá¼Ñ¡«⌐ Σ«α¼á½∞¡δσ áαúπ¼Ñ¡Γ«ó Σá¬Γ¿τÑ߬¿¼¿.
- <text> »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡áí«α ½Ñ¬ßѼ, Γᬿσ ¬á¬ ¬½ετÑóδÑ
- ß½«óá, ¬«¡ßΓá¡Γδ ¿½¿ ß«ßΓáó¡δÑ «»ÑαáΓ«αδ. Äñ¿¡ ¿½¿ í«½ÑÑ
- »α«íѽ∞¡δσ ß¿¼ó«½«ó ¼«úπΓ αáºñѽ∩Γ∞ <text> «Γ <identifier> (¿½¿
- «Γ ºá¬½ετÑ¡¡δσ ó ߬«í¬¿ »áαá¼ÑΓα«ó). àß½¿ ΓѬßΓ í«½∞ΦÑ τѼ «ñ¡á
- ßΓ᫬á, Γ« «¡ ¼«ªÑΓ íδΓ∞ »α«ñ«½ªÑ¡ ¡á ß½ÑñπεΘÑ⌐ ßΓ᫬Ñ
- »«ßαÑñßΓó«¼ »ÑτáΓ¿ ß¿¼ó«½á ¡«ó«⌐ ßΓ᫬¿ ß »«ß½ÑñπεΘÑ⌐ ¡á¬½«¡¡«⌐
- τÑαΓ«⌐ ó½Ñó«.
- <text> ¼«ªÑΓ íδΓ∞ «»πΘÑ¡. é φΓ«¼ ß½πτáÑ óßÑ »αÑñßΓáó¿Γѽ¿
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αá <identifier> íπñπΓ πñá½Ñ¡δ ¿º ¿ßσ«ñ¡«ú« ΓѬßΓá
- »α«úαá¼¼δ. ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, <identifier> αáßß¼áΓα¿óáÑΓß∩ ¬á¬ «»αÑñÑ-
- ½Ñ¡¡δ⌐ ¿ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ 1, Ñß½¿ »α«óÑα∩ÑΓß∩ ñ¿αÑ¬Γ¿ó«⌐ #if
- (ß¼«Γα¿ αáºñѽ 8.4.1).
- è«úñá ºáñá¡ ß»¿ß«¬ »áαá¼ÑΓα«ó <parameter-list>, Γ« «¡
- ß«ñÑαª¿Γ «ñ¿¡ ¿½¿ í«½ÑÑ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó, αáºñѽѡ¡δσ
- ºá»∩Γ묨. èáªñ«Ñ ¿¼∩ ó ß»¿ß¬Ñ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼ ¿ ß»¿ß«¬
- ñ«½ªÑ¡ íδΓ∞ ºá¬½ετÑ¡ ó ¬απú½δÑ ß¬«í¬¿. ìÑ ñ«»π߬áεΓß∩ »α«íѽδ
- ¼Ñªñπ <identifier> ¿ «Γ¬αδóáεΘÑ⌐ ߬«í¬«⌐. ê¼Ñ¡á Σ«α¼á½∞¡δσ
- »áαá¼ÑΓα«ó ó ΓѬßΓÑ <text> «Γ¼ÑτáεΓ ¼ÑßΓá, ¬πñá ñ«½ª¡δ íδΓ∞
- »«ñßΓáó½Ñ¡δ Σá¬Γ¿τÑ߬¿Ñ º¡áτÑ¡¿∩. èáªñ«Ñ ¿¼∩ Σ«α¼á½∞¡«ú«
- »áαá¼ÑΓαá ¼«ªÑΓ »«∩ó¿Γ∞ß∩ ó ΓѬßΓÑ í«½ÑÑ «ñ¡«ú« αáºá ó ½εí«¼
- »«α∩ñ¬Ñ.
- öá¬Γ¿τÑ߬¿Ñ áαúπ¼Ñ¡Γδ, ß½ÑñπεΘ¿Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡« ºá
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ <identifier> ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ, ß««ΓóÑΓßΓóπεΓ
- Σ«α¼á½∞¡δ¼ »áαá¼ÑΓαá¼ ß»¿ß¬á »áαá¼ÑΓα«ó <parameter-list> ¿ ¼«-
-
- - 122 -
-
-
- ñ¿Σ¿µ¿απεΓ <text> »πΓѼ ºá¼Ñ¡δ ¬áªñ«ú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá ¡á
- ß««ΓóÑΓßΓóπεΘ¿⌐ Σá¬Γ¿τÑ߬¿⌐. 滿߬¿ Σá¬Γ¿τÑ߬¿σ ¿ Σ«α¼á½∞¡δσ
- »áαá¼ÑΓα«ó ñ«½ª¡δ ß«ñÑαªáΓ∞ «ñ¡« ¿ Γ« ªÑ τ¿ß½« áαúπ¼Ñ¡Γ«ó.
- Çαúπ¼Ñ¡Γδ ß »«í«τ¡δ¼¿ φΣΣѬΓἿ ¼«úπΓ ßΓáΓ∞ »α¿τ¿¡«⌐ ¡Ñ»-
- αÑñ߬áºπѼδσ αѺπ½∞ΓáΓ«ó. îá¬α««»αÑñѽѡ¿Ñ ¼«ªÑΓ ß«ñÑαªáΓ∞ í«½ÑÑ
- «ñ¡«ú« óσ«ªñÑ¡¿∩ ñá¡¡«ú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá, ¿ Ñß½¿ φëà ӫα-
- ¼á½∞¡δ⌐ »áαá¼ÑΓα »αÑñßΓáó½Ñ¡ óδαáªÑ¡¿Ñ¼ ß »«í«τ¡δ¼ φΣΣÑ¬Γ«¼, Γ«
- φΓ« óδαáªÑ¡¿Ñ íπñÑΓ óδτ¿ß½∩Γ∞ß∩ í«½ÑÑ τѼ «ñ¿¡ αáº.
-
- Åα¿¼Ñαδ:
- /*.....* example 1 *.....*/
- #define WIDTH 80
- #define LENGTH (WIDTH + 10)
-
- /*.....* example 2 *.....*/
- #define FILEMESSAGE "Attempt too create file \
- failed because of insufficient space"
-
- /*.....* example 3 *.....*/
- #define REG1 register
- #define REG2 register
- #define REG3
-
- /*.....* example 4 *.....*/
- #define MAX(x,y) ((x) > (y)) ? (x) : (y)
-
- /*.....* example 5 *.....*/
- #define MULT (a,b) ((a) * (b))
-
- é »Ñαó«¼ »α¿¼ÑαÑ «»αÑñѽ∩ÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α WIDTH, ¬á¬
- µÑ½á∩ ¬«¡ßΓá¡Γá 80, ¿ «»αÑñѽ∩ÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α LENGTH, ¬á¬
- (WIDTH + 10). èáªñ«Ñ óσ«ªñÑ¡¿Ñ LENGTH ºá¼Ñ¡∩ÑΓß∩ ¡á (WIDTH + 10),
- ¬«Γ«α«Ñ ó ßó«ε «τÑαÑñ∞ ºá¼Ñ¡∩ÑΓß∩ ¡á óδαáªÑ¡¿Ñ (80 + 10). æ¬«í¬¿
- ∩ó½∩εΓß∩ óáª¡δ¼¿, »«ß¬«½∞¬π «¡¿ π»αáó½∩εΓ ¿¡ΓÑα»αÑΓᵿÑ⌐ ó
- «»ÑαáΓ«αáσ, »«ñ«í¡δσ ß½ÑñπεΘѼπ:
-
- var = LENGTH * 20;
-
- Å«ß½Ñ »αÑ»α«µÑßß¿α«óá¡¿∩ «»ÑαáΓ«α íπñÑΓ Γᬿ¼:
-
- var = (80 + 10) * 20;
-
- ç¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ »α¿ßóá¿óáÑΓß∩, αáó¡« 1800. üѺ ߬«í«¬
- º¡áτÑ¡¿Ñ 80+10*20 αáó¡∩½«ß∞ íδ 280.
- é« óΓ«α«¼ »α¿¼ÑαÑ «»αÑñѽ∩ÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α FILEMESSAGE.
- Ä»αÑñѽѡ¿Ñ »α«ñ«½ªáÑΓß∩ ¡á óΓ«απε ßΓ᫬π »πΓѼ ¿ß»«½∞º«óá¡¿∩
- ß¿¼ó«½á "\".
- é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ «»αÑñѽѡδ Γα¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, REG1,
- REG2, REG3. REG1 ¿ REG2 «»αÑñÑ½Ñ¡δ ¬á¬ ¬½ετÑóδÑ ß½«óá register.
- Ä»αÑñѽѡ¿Ñ REG3 «»πΘÑ¡« ¿, Γᬿ¼ «íαẫ¼, ½εí«Ñ óσ«ªñÑ¡¿Ñ REG3
- íπñÑΓ πñá½Ñ¡« ¿º ¿ßσ«ñ¡«ú« Σá⌐½á. ¥Γ¿ ñ¿αÑ¬Γ¿óδ ¼«úπΓ íδΓ∞ ¿ß-
- »«½∞º«óá¡δ ñ½∩ Γ«ú«, τΓ«íδ «íÑß»Ñτ¿Γ∞ ¡á¿í«½ÑÑ óáª¡δ¼ »ÑαѼѡ¡δ¼
- »α«úαá¼¼δ (ºáñá¡¡δ¼ ß REG1 ¿ REG2) ºáñá¡¿Ñ ¬½áßßá »á¼∩Γ¿
- register. é αáºñÑ½Ñ 8.4.1 ñá¡á αáßΦ¿αÑ¡¡á∩ óÑαß¿∩ φΓ«ú« »α¿¼Ñαá.
- é τÑΓóÑαΓ«¼ »α¿¼ÑαÑ ñá¡« ¼á¬α««»αÑñѽѡ¿Ñ, »«¿¼Ñ¡«óá¡¡«Ñ
-
- - 123 -
-
-
- MAX. èáªñ«Ñ ΓѬπΘÑÑ óσ«ªñÑ¡¿Ñ ¼á¬α«-ó맮óá MAX ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ
- ºá¼Ñ¡∩ÑΓß∩ óδαáªÑ¡¿Ñ¼ ((x)>(y))?(x):(y), ó ¬«Γ«α«¼ Σ«α¼á½∞¡δÑ »á-
- αá¼ÑΓαδ x ¿ y ºá¼Ñ¡∩εΓß∩ ¡á Σá¬Γ¿τÑ߬¿Ñ. ìá»α¿¼Ñα, óσ«ªñÑ¡¿Ñ
- MAX(1,2)
- ºá¼Ñ¡∩ÑΓß∩ ¡á
- ((1)>(2)?(1):(2),
- á óσ«ªñÑ¡¿Ñ
- MAX (i, s[i])
- ºá¼Ñ¡∩ÑΓß∩ ¡á
- ((i)>(s[i]))?(i):(s[i])
- îá¬α«-ó맮ó »α«ΘÑ τ¿ΓáΓ∞, τѼ ß««ΓóÑΓßΓóπεΘÑÑ óδαáªÑ¡¿Ñ,
- ¬«Γ«α«Ñ »«ñßΓáó½∩ÑΓß∩. êßσ«ñ¡á∩ »α«úαá¼¼á ßΓá¡«ó¿Γß∩ »α«ΘÑ ñ½∩
- »«¡¿¼á¡¿∩.
- çá¼ÑΓ¿¼, τΓ« ó φΓ«¼ ¼á¬α« áαúπ¼Ñ¡Γδ ß »«í«τ¡δ¼¿ φΣΣѬΓἿ
- ¼«úπΓ íδΓ∞ »α¿τ¿¡«⌐ ¡Ñ»αÑñ߬áºπѼδσ αѺπ½∞ΓáΓ«ó.
- ìá»α¿¼Ñα, ¼á¬α«-ó맮ó MAX (i,s[i++]) ºá¼Ñ¡¿Γß∩ ¡á
-
- ((i)>(s[i++]))?(i):(s[i++])
-
- éδαáªÑ¡¿Ñ s[i++] óδτ¿ß½∩ÑΓß∩ ñóáªñδ. ÉѺπ½∞ΓáΓ ΓÑα¡áα¡«ú«
- óδαáªÑ¡¿∩ ¡Ñ«»αÑñѽѡ, Γ.¬. Ñú« «»ÑαáΓ«αδ ¼«úπΓ íδΓ∞ óδτ¿ß½Ñ¡δ ó
- ½εí«¼ »«α∩ñ¬Ñ, á º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ i ºáó¿ß¿Γ «Γ »«α∩ñ¬á
- óδτ¿ß½Ñ¡¿∩.
- é »∩Γ«¼ »α¿¼ÑαÑ «»αÑñѽ∩ÑΓß∩ ¼á¬α« ß ¿¼Ñ¡Ñ¼ MULT.
- îá¬α«ó맮ó MULT (3,5) ó ΓѬßΓÑ »α«úαá¼¼δ ºá¼Ñ¡∩ÑΓß∩ ¡á (3)*(5).
- èαπú½δÑ ß¬«í¬¿, ó ¬«Γ«αδÑ ºá¬½ετáεΓß∩ Σá¬Γ¿τÑ߬¿Ñ »áαá¼ÑΓαδ,
- ó᪡δ, »«ß¬«½∞¬π «¡¿ π»αáó½∩εΓ ¿¡ΓÑα»αÑΓᵿÑ⌐ ß«ßΓáó¡δσ
- áαúπ¼Ñ¡Γ«ó. ìá»α¿¼Ñα, ¼á¬α«ó맮ó MULT (3+4,5+6) ºá¼Ñ¡¿Γß∩ ¡á
- (3+4)*(5+6), τΓ« φ¬ó¿óá½Ñ¡Γ¡« 76. üѺ ߬«í«¬ αѺπ½∞ΓáΓ »«ñßΓá¡«ó-
- ¬¿ 3+4*5+6 αáóÑ¡ 29.
-
-
- 8.1.2. ä¿αÑ¬Γ¿óá #undef
-
- æ¿¡Γá¬ß¿ß:
-
- #undef <identifier>
-
- ä¿αÑ¬Γ¿óá #undef «Γ¼Ñ¡∩ÑΓ ΓѬπΘÑÑ «»αÑñѽѡ¿Ñ #define ¿ñÑ¡-
- Γ¿Σ¿¬áΓ«αá <identifier>. ùΓ«íδ «Γ¼Ñ¡¿Γ∞ ¼á¬α««»αÑñѽѡ¿Ñ »«ßαÑñß-
- Γó«¼ ñ¿αÑ¬Γ¿óδ #undef, ñ«ßΓáΓ«τ¡« ºáñáΓ∞ Ñú« ¿ñÑ¡Γ¿Σ¿¬áΓ«α. çáñá-
- ¡¿Ñ ß»¿ß¬á »áαá¼ÑΓα«ó ¡Ñ ΓαÑíπÑΓß∩.
- ä¿αÑ¬Γ¿óá #undef ¼«ªÑΓ íδΓ∞ »α¿¼Ñ¡Ñ¡á ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«απ,
- ¬«Γ«αδ⌐ αá¡ÑÑ ¡Ñ «»αÑñѽѡ. ¥Γ« ñ«»«½¡¿Γѽ∞¡á∩ úáαá¡Γ¿∩ Γ«ú«, τΓ«
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡Ñ «»αÑñѽѡ.
- ä¿αÑ¬Γ¿óá #undef «íδτ¡« ¿ß»«½∞ºπÑΓß∩ ß ñ¿αÑ¬Γ¿ó«⌐ #define,
- τΓ«íδ ß«ºñáΓ∞ «í½áßΓ∞ ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ, ó ¬«Γ«α«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
- ¿¼ÑÑΓ ß»Ñµ¿á½∞¡δ⌐ ß¼δß½. ä¿αÑ¬Γ¿óá #undef ¿ß»«½∞ºπÑΓß∩ Γá¬ªÑ ß
- ñ¿αÑ¬Γ¿ó«⌐ #if (ß¼«Γα¿ αáºñѽ 8.4.1) ñ½∩ π»αáó½Ñ¡¿∩ ßαáó¡Ñ¡¿∩¼¿
- πτáßΓ¬«ó ¿ßσ«ñ¡«⌐ »α«úαá¼¼δ.
-
- Åα¿¼Ñα:
-
- #define WIDTH 80
- #define ADD(X,Y) (X)+(Y)
-
- - 124 -
-
-
- .
- .
- .
- #undef WIDTH
- #undef ADD
-
- é φΓ«¼ »α¿¼ÑαÑ ñ¿αÑ¬Γ¿óá #undef «Γ¼Ñ¡∩ÑΓ «»αÑñѽѡ¿Ñ »«¿¼Ñ-
- ¡«óá¡¡«⌐ ¬«¡ßΓá¡Γδ ¿ ¼á¬α«ßá. çá¼ÑΓ¿¼, τΓ« ó ñ¿αÑ¬Γ¿óáσ ºáñáεΓß∩
- Γ«½∞¬« ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿ ¿¼∩ ¼á¬α«ßá.
-
-
- 8.2. #include Σá⌐½δ
-
- æ¿¡Γá¬ß¿ß:
-
- #include "<pathname>"
- #include <<pathname>>
-
- ä¿αÑ¬Γ¿óá #include ñ«íáó½∩ÑΓ ß«ñÑন¼«Ñ ºáñá¡¡«ú« include
- Σá⌐½á ¬ ñαπú«¼π Σá⌐½π. Ä»αÑñѽѡ¿∩ ¬«¡ßΓá¡Γ ¿ ¼á¬α«ß«ó ¼«úπΓ íδΓ∞
- «αúá¡¿º«óá¡δ ó "include" Σá⌐½áσ ¿ ñ«íáó½Ñ¡δ ¬ ½εí«¼π ¿ßσ«ñ¡«¼π
- Σá⌐½π #include ñ¿αÑ¬Γ¿ó«⌐. "include" Σá⌐½δ Γá¬ªÑ »«½Ñº¡δ ñ½∩
- «í"∩ó½Ñ¡¿⌐ «íΘ¿σ ó¡ÑΦ¡¿σ »ÑαѼѡ¡δσ ¿ ß«ßΓáó¡δσ Γ¿»«ó ñá¡¡δσ.
- Æ¿»δ, ¬«Γ«αδÑ ΓαÑíπÑΓß∩ «í"∩ó¿Γ∞ ¿ »«¿¼Ñ¡«óáΓ∞ «ñ¡áªñδ, ΓᬪÑ
- ß«ºñáεΓß∩ ó #include-Σá⌐½áσ.
- ä¿αÑ¬Γ¿óá #include ß««íΘáÑΓ »αÑ»α«µÑßß«απ «í «íαáí«Γ¬Ñ Σá⌐-
- ½á, ¬á¬ Ñß½¿ íδ φëà Σá⌐½ »«∩ó¿½ß∩ ó ¿ßσ«ñ¡«⌐ »α«úαá¼¼Ñ ó Γ«τ¬Ñ,
- úñÑ ºá»¿ßá¡á ñ¿αÑ¬Γ¿óá. Äíαáí«Γá¡¡δ⌐ ΓѬßΓ Γá¬ªÑ ¼«ªÑΓ ß«ñÑαªáΓ∞
- ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá. ÅαÑ»α«µÑßß«α óδ»«½¡∩ÑΓ ñ¿αÑ¬Γ¿óδ ¿º ¡«-
- ó«ú« ΓѬßΓá, á ºáΓѼ »α«ñ«½ªáÑΓ »α«µÑßß¿α«óá¡¿Ñ »Ñαó«¡áτá½∞¡«ú«
- ΓѬßΓá ¿ßσ«ñ¡«ú« Σá⌐½á.
- ê¼∩ Σá⌐½á <pathname> - φΓ« ¿¼∩ Σá⌐½á ß »αÑñΦÑßΓóπεΘÑ⌐
- ߻ѵ¿Σ¿¬áµ¿Ñ⌐ ñ¿αÑ¬Γ«α¿∩. æ¿¡Γá¬ß¿ß ߻ѵ¿Σ¿¬áµ¿¿ Σá⌐½á ºáó¿ß¿Γ «Γ
- ߻ѵ¿Σ¿¬¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ, ó ¬«Γ«α«⌐ ¬«¼»¿½¿απÑΓß∩ »α«úαá¼-
- ¼á.
- ÅαÑ»α«µÑßß«α ¿ß»«½∞ºπÑΓ ¬«¡µÑ»µ¿ε "ßΓá¡ñáαΓ¡«ú«" ñ¿αÑ¬Γ«α¿∩
- ¿½¿ ñ¿αÑ¬Γ«α¿Ñó ñ½∩ »«¿ß¬á #include-Σá⌐½«ó. Éáß»«½«ªÑ¡¿Ñ ßΓá¡-
- ñáαΓ¡δσ ñ¿αÑ¬Γ«α¿Ñó ñ½∩ #include-Σá⌐½«ó ºáó¿ß¿Γ «Γ αÑ὿ºáµ¿¿ ¿
- «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. 漫Γα¿ΓÑ ß¿ßΓѼ¡πε ñ«¬π¼Ñ¡Γᵿε ñ½∩
- »«½πτÑ¡¿∩ ¿¡Σ«α¼áµ¿¿ « ßΓá¡ñáαΓ¡δσ ñ¿αÑ¬Γ«α¿∩σ.
-
- ÅαÑ»α«µÑßß«α «ßΓá¡áó½¿óáÑΓ »«¿ß¬ »α¿ »Ñαó«¼ »«∩ó½Ñ¡¿¿ Σá⌐½á
- ß ºáñá¡¡δ¼ ¿¼Ñ¡Ñ¼. àß½¿ ºáñá¡« »«½¡«Ñ «ñ¡«º¡áτ¡«Ñ <pathname>,
- ºá¬½ετÑ¡¡«Ñ ó ñó«⌐¡δÑ ¬áóδτ¬¿ (" ") ¿½¿ ó πú½«óδÑ ß¬«í¬¿ (< >),
- Γ« »αÑ»α«µÑßß«α ¿ΘÑΓ Γ«½∞¬« φΓ« <pathname> ¿ ¿ú¡«α¿απÑΓ ßΓá¡-
- ñáαΓ¡δÑ ñ¿αÑ¬Γ«α¿¿. àß½¿ ߻ѵ¿Σ¿¬áµ¿∩ Σá⌐½á ¡Ñ ºáñá¡á »«½¡δ¼
- <pathname>, ¡« ¡Ñ»«½¡á∩ ߻ѵ¿Σ¿¬áµ¿∩ Σá⌐½á ºá¬½ετÑ¡á ó ñó«⌐¡δÑ
- ¬áóδτ¬¿, Γ« »αÑ»α«µÑßß«α ¡áτ¿¡áÑΓ »«¿ß¬ ó¬½ετáѼ«ú« Σá⌐½á ó
- ΓѬπΘѼ αáí«τѼ ñ¿αÑ¬Γ«α¿¿. çáΓѼ »αÑ»α«µÑßß«α »α«ñ«½ªáÑΓ »«¿ß¬ ó
- ñ¿αÑ¬Γ«α¿∩σ, ߻ѵ¿Σ¿µ¿α«óá¡¡δσ ó ¬«¼á¡ñá¡«⌐ ßΓα«¬Ñ ¬«¼»¿½∩µ¿¿, ¿,
- ¡á¬«¡Ñµ, ¿ΘÑΓ ó ßΓá¡ñáαΓ¡δσ ñ¿αÑ¬Γ«α¿∩σ.
- àß½¿ ߻ѵ¿Σ¿¬áµ¿∩ Σá⌐½á ºá¬½ετÑ¡á ó πú½«óδÑ ß¬«í¬¿, Γ«
- »αÑ»α«µÑßß«α ¡Ñ íπñÑΓ «ßπΘÑßΓó½∩Γ∞ »«¿ß¬ ó ΓѬπΘѼ αáí«τѼ
- ñ¿αÑ¬Γ«α¿¿. Ä¡ ¡áτ¡ÑΓ »«¿ß¬ ó ñ¿αÑ¬Γ«α¿∩σ, ߻ѵ¿Σ¿µ¿α«óá¡¡δσ ó
- ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ ¬«¼»¿½∩µ¿¿, á ºáΓѼ ó ßΓá¡ñáαΓ¡δσ ñ¿αÑ¬Γ«α¿∩σ.
-
- - 125 -
-
-
- ä¿αÑ¬Γ¿óá #include ¼«ªÑΓ íδΓ∞ 󽫪ѡ¡«⌐, ñαπú¿¼¿ ß½«óἿ,
- ñ¿αÑ¬Γ¿óá ¼«ªÑΓ »«∩ó¿Γ∞ß∩ ó Σá⌐½Ñ, »«¿¼Ñ¡«óá¡¡«¼ ñαπú«⌐ #include
- ñ¿αÑ¬Γ¿ó«⌐. è«úñá »αÑ»α«µÑßß«α óßΓαÑτáÑΓ ó½«ªÑ¡¡πε
- #include-ñ¿αÑ¬Γ¿óπ, Γ« «¡ «íαáíáΓδóáÑΓ Σá⌐½ φΓ«⌐ ñ¿αÑ¬Γ¿óδ ¿
- óßΓáó½∩ÑΓ Ñú« ó ΓѬπΘ¿⌐ Σá⌐½. ÅαÑ»α«µÑßß«α ¿ß»«½∞ºπÑΓ ΓÑ ªÑ ßá¼δÑ
- «»¿ßá¡¡δÑ óδΦÑ »α«µÑñπαδ ñ½∩ »«¿ß¬á 󽫪ѡ¡δσ #include-Σá⌐½«ó.
- ì«óδ⌐ Σá⌐½ Γá¬ªÑ ¼«ªÑΓ ß«ñÑαªáΓ∞ ñ¿αÑ¬Γ¿óδ #include. ä«»π߬áÑΓß∩
- 󽫪ѡ¿Ñ ñ« ñÑß∩Γ¿ πα«ó¡Ñ⌐. èá¬ Γ«½∞¬« 󽫪ѡ¡δÑ #include-Σá⌐½δ
- «íαáí«Γá¡δ, »αÑ»α«µÑßß«α óßΓáó½∩ÑΓ φëà Σá⌐½ ó ¿ßσ«ñ¡δ⌐ ΓѬßΓ«óδ⌐
- Σá⌐½ »α«úαá¼¼δ.
-
- Åα¿¼Ñαδ:
-
- #include <stdio.h> /* example 1 */
- #include "defs.h" /* example 2 */
-
- é »Ñαó«¼ »α¿¼ÑαÑ ó ¿ßσ«ñ¡πε »α«úαá¼¼¼π óßΓáó½∩ÑΓß∩ Σá⌐½,
- »«¿¼Ñ¡«óá¡¡δ⌐ stdio.h. ôú½«óδÑ ß¬«í¬¿ ß««íΘáεΓ »αÑ»α«µÑßß«απ, τΓ«
- »«¿ß¬ Σá⌐½á ¡πª¡« «ßπΘÑßΓó½∩Γ∞ ó ßΓá¡ñáαΓ¡δσ ñ¿αÑ¬Γ«α¿∩σ »«ß½Ñ
- »«¿ß¬á ó ñ¿αÑ¬Γ«α¿¿, ߻ѵ¿Σ¿µ¿α«óá¡¡«¼ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ.
- é« óΓ«α«¼ »α¿¼ÑαÑ ó ¿ßσ«ñ¡πε »α«úαá¼¼π óßΓáó½∩ÑΓß∩ Σá⌐½,
- »«¿¼Ñ¡«óá¡¡δ⌐ defs.h. äó«⌐¡δÑ ¬áóδτ¬¿ «º¡áτáεΓ, τΓ« »α¿ »«¿ß¬Ñ
- Σá⌐½á ó¡áτá½Ñ ñ«½ªÑ¡ íδΓ∞ »α«ß¼«ΓαÑ¡ ΓѬπΘ¿⌐ ñ¿αÑ¬Γ«α¿⌐.
-
-
- 8.3. ôß½«ó¡á∩ ¬«¼»¿½∩µ¿∩
-
- é αáºñÑ½Ñ ¿ß»«½∞ºπÑΓß∩ ß¿¡Γá¬ß¿ß ¿ ¿ß»«½∞º«óá¡¿Ñ ñ¿αÑ¬Γ¿ó,
- ¬«Γ«αδÑ π»αáó½∩εΓ πß½«ó¡«⌐ ¬«¼»¿½∩µ¿Ñ⌐. ¥Γ¿ ñ¿αÑ¬Γ¿óδ »«ºó«½∩εΓ
- «Γ¼Ñ¡¿Γ∞ ¬«¼»¿½∩µ¿ε τáßΓÑ⌐ ¿ßσ«ñ¡«ú« Σá⌐½á »«ßαÑñßΓó«¼ »α«óÑન
- ¬«¡ßΓá¡Γ¡δσ óδαáªÑ¡¿⌐ ¿½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, »α¿ ¬«Γ«α«⌐ «»αÑñѽ∩-
- ÑΓß∩ ¡πª¡« ½¿ »ÑαÑñáóáΓ∞ ¡á óδσ«ñ ¿½¿ »α«»πßΓ¿Γ∞ ñá¡¡πε τáßΓ∞ ¿ß-
- σ«ñ¡«ú« Σá⌐½á ¡á ßΓáñ¿¿ »αÑ»α«µÑ ßß¿α«óá¡¿∩.
-
-
- 8.3.1. ä¿αÑ¬Γ¿óδ #if, #elif, #else, #endif
-
- æ¿¡Γá¬ß¿ß:
-
- #if <restricted-constant-expression>
- [<text>]
- [#elif <restricted-constant-expression><text>]
- [*elif <restricted-constant-expression><text>]
- .
- .
- .
- [#else <text>]
- #endif
-
- ä¿αÑ¬Γ¿óá #if ó¼ÑßΓÑ ß ñ¿αÑ¬Γ¿óἿ #elif, #else ¿ #endiif
- π»αáó½∩ÑΓ ¬«¼»¿½∩µ¿Ñ⌐ τáßΓÑ⌐ ¿ßσ«ñ¡«ú« Σá⌐½á. èáªñ«⌐ ñ¿αÑ¬Γ¿óÑ
- #if ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ ñ«½ª¡á ß««ΓóÑΓßΓó«óáΓ∞ ºá¬αδóáεΘá∩ ñ¿αÑ¬Γ¿óá
- #endif. îѪñπ ñ¿αÑ¬Γ¿óἿ #if ¿ #endif ñ«»π߬áÑΓß∩ ¡π½∞ ¿½¿ í«½ÑÑ
- ñ¿αÑ¬Γ¿ó #elif ¿ ¡Ñ í«½ÑÑ «ñ¡«⌐ ñ¿αÑ¬Γ¿óδ #else. ä¿αÑ¬Γ¿óá #else,
- Ñß½¿ «¡á ÑßΓ∞, ñ«½ª¡á íδΓ∞ αáß»«½«ªÑ¡á ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ
-
- - 126 -
-
-
- ñ¿αÑ¬Γ¿ó«⌐ #endif.
- ÅαÑ»α«µÑßß«α óδí¿αáÑΓ «ñ¿¡ ¿º πτáßΓ¬«ó ΓѬßΓá-<text> ñ½∩
- ñá½∞¡Ñ⌐ΦÑ⌐ «íαáí«Γ¬¿. ôτáßΓ«¬ <text> - φΓ« ½εíá∩ »«ß½Ññ«-
- óáΓѽ∞¡«ßΓ∞ ΓѬßΓá. Ä¡ ¼«ªÑΓ ºá¡¿¼áΓ∞ í«½ÑÑ «ñ¡«⌐ ßΓ᫬¿. Äíδτ¡«
- φΓ« πτáßΓ«¬ »α«úαá¼¼¡«ú« ΓѬßΓá, ¬«Γ«αδ⌐ ¿¼ÑÑΓ ß¼δß½ ñ½∩ ¬«¼-
- »¿½∩Γ«αá ¿½¿ »αÑ»α«µÑßß«αá. Äñ¡á¬«, φΓ« ¡Ñ «í∩ºáΓѽ∞¡«Ñ ΓαÑí«óá-
- ¡¿Ñ. ÅαÑ»α«µÑßß«α ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ «íαáí«Γ¬¿ ½εí«ú« ΓѬßΓá.
- éδíαá¡¡δ⌐ ΓѬßΓ «íαáíáΓδóáÑΓß∩ »αÑ»α«µÑßß«α«¼ ¿ »«ßδ½áÑΓß∩
- ¡á ¬«¼»¿½∩µ¿ε. àß½¿ <text> ß«ñÑαª¿Γ ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá, Γ«
- φΓ¿ ñ¿αÑ¬Γ¿óδ óδ»«½¡∩εΓß∩.
- ïεí«⌐ πτáßΓ«¬ ΓѬßΓá, ¡Ñ óδíαá¡¡δ⌐ »αÑ»α«µÑßß«α«¼, ¿ú-
- ¡«α¿απÑΓß∩ ¡á ßΓáñ¿¿ »αÑ»α«µÑßß¿α«óá¡¿∩ ¿ ó»«ß½ÑñßΓó¿¿ ¡Ñ ¬«¼»¿-
- ½¿απÑΓß∩.
- ÅαÑ»α«µÑßß«α óδí¿αáÑΓ «Γñѽ∞¡δ⌐ πτáßΓ«¬ ΓѬßΓá ¡á «ß¡«óÑ
- óδτ¿ß½Ñ¡¿∩ «úαá¡¿τÑ¡¡«ú« ¬«¡ßΓá¡Γ¡«ú« óδαáªÑ¡¿∩
- <restricted-constant-expression>, ß½ÑñπεΘÑú« ºá ¬áªñ«⌐ #if ¿½¿
- #elif ñ¿αÑ¬Γ¿ó«⌐, »«¬á ¡Ñ íπñÑΓ ¡á⌐ñÑ¡« óδαáªÑ¡¿Ñ ß« º¡áτÑ¡¿Ñ¼
- ¿ßΓ¿¡á (¡Ñ ¡π½∞). éδí¿αáÑΓß∩ <text>, ß½ÑñπεΘ¿⌐ ºá ¿ßΓ¿¡¡δ¼
- ¬«¡ßΓá¡Γ¡δ¼ óδαáªÑ¡¿Ñ¼, ñ« í½¿ªá⌐ΦÑú« º¡á¬á ¡«¼Ñαá (#).
- àß½¿ «úαá¡¿τÑ¡¡«Ñ ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ ¡Ñ ¿ßΓ¿¡¡« ¿½¿
- «ΓßπΓßΓóπÑΓ ñ¿αÑ¬Γ¿óá #elif, Γ« »αÑ»α«µÑßß«α óδí¿αáÑΓ <text>
- »«ß½Ñ ºá»¿ß¿ #else. àß½¿ ºá»¿ß∞ #else «»πΘÑ¡á, á óδαáªÑ¡¿Ñ
- ñ¿αÑ¬Γ¿óδ #if ½«ª¡«, Γ« ΓѬßΓ ¡Ñ óδí¿αáÑΓß∩.
-
- Äúαá¡¿τÑ¡¡«Ñ ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ
- <restricted-constant-expression> «»¿ßá¡« ó αáºñÑ½Ñ 5.2.10. Æá¬«Ñ
- óδαáªÑ¡¿Ñ ¡Ñ ¼«ªÑΓ ß«ñÑαªáΓ∞ sizeof óδαáªÑ¡¿⌐, ¬áßΓ«óδσ óδαáªÑ-
- ¡¿⌐, »ÑαÑτ¿ß½¿¼δσ ¬«¡ßΓá¡Γ, ¡« ¼«ªÑΓ ß«ñÑαªáΓ∞ ߻ѵ¿á½∞¡δÑ
- ¬«¡ßΓá¡Γ¡δÑ óδαáªÑ¡¿∩ defined (<identifier>). ¥Γ« ¬«¡ßΓá¡Γ¡«Ñ
- óδαáªÑ¡¿Ñ ¿ßΓ¿¡¡«, Ñß½¿ ºáñá¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α <identifier> ó
- ΓѬπΘ¿⌐ ¼«¼Ñ¡Γ «»αÑñѽѡ, ó »α«Γ¿ó¡«¼ ß½πτáÑ óδαáªÑ¡¿Ñ ½«ª¡«.
- êñÑ¡Γ¿Σ¿¬áΓ«α <identifier>, «»αÑñѽѡ¡δ⌐ ¬á¬ »πßΓ«⌐ ΓѬßΓ,
- αáßß¼áΓα¿óáÑΓß∩ ¬á¬ «»αÑñѽѡ¡δ⌐.
- ä¿αÑ¬Γ¿óδ #if, #elif, #else, #endif ¼«úπΓ íδΓ∞ 󽫪ѡ¡δ¼¿.
- èáªñá∩ ¿º 󽫪ѡ¡δσ ñ¿αÑ¬Γ¿ó #else, #elif, #endif »α¿¡áñ½Ñª¿Γ ¬
- í½¿ªá⌐ΦÑ⌐ »αÑñΦÑßΓóπεΘÑ⌐ ñ¿αÑ¬Γ¿óÑ #if.
-
- Åα¿¼Ñαδ:
-
- /*.....* example 1 *.....*/
- #if defined (CREDIT)
- credit ();
- #elif defined (DEBIT)
- debit ();
- #else
- printerror ();
- #endif
-
- /*.....* example 2 *.....*/
- #if DLEVEL>5
- #define SIGNAL 1
- #if STACKUSE == 1
- #define STACK 200
- #else
- #define STACK 100
-
- - 127 -
-
-
- #endif
- #else
- #define SIGNAL 0
- #if STACKUSE == 1
- #define STACK 100
- #else
- #define STACK 50
- #endif
- #endif
-
- /*.....* example 3 *.....*/
- #if DLEVEL == 0
- #define STACK 0
- #elif DLEVEL == 1
- #define STACK 100
- #elif DLEVEL > 5
- display ( debugptr );
- #else
-
- #define STACK 200
- #endif
-
- /*.....* example 4 *.....*/
- #define REG1 register
- #define REG2 register
-
- #if defined(M_86)
- #define REG3
- #define REG4
- #define REG5
- #else
- #define REG3 register
- #if defined(M_68000)
- #define REG4 register
- #define REG5 register
- #endif
- #endif
-
- é »Ñαó«¼ »α¿¼ÑαÑ ñ¿αÑ¬Γ¿óδ #if, #endif π»αáó½∩εΓ ¬«¼-
- »¿½∩µ¿Ñ⌐ «ñ¡¿¼ ¿º ΓαÑσ ó맮ó«ó Σπ¡¬µ¿⌐. é맮ó Σπ¡¬µ¿¿ credit ¬«¼-
- »¿½¿απÑΓß∩, Ñß½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α CREDIT «»αÑñѽѡ. àß½¿ «»αÑñѽѡ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α DEBIT, Γ« ¬«¼»¿½¿απÑΓß∩ Σπ¡¬µ¿«¡á½∞¡δ⌐ ó맮ó debit.
- àß½¿ ¡¿ «ñ¿¡ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡Ñ «»αÑñѽѡ, Γ« ¬«¼»¿½¿απÑΓß∩ ó맮ó
- printerror. çá¼ÑΓ¿¼, τΓ« CREDIT ¿ credit - φΓ« αẽ¿τ¡δÑ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ó æ¿.
- é ß½ÑñπεΘ¿σ ñóπσ »α¿¼Ñαáσ »αÑñ»«½áúáÑΓß∩, τΓ« ¬«¡ßΓá¡Γá
- DLEVEL »αÑñóáα¿Γѽ∞¡« «»αÑñѽѡá.
- é« óΓ«α«¼ »α¿¼ÑαÑ »«¬áºá¡δ ñóÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ 󽫪ѡ¡δσ
- #if, #else, #endif ñ¿αÑ¬Γ¿ó. ÅÑαóá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñ¿αÑ¬Γ¿ó
- «íαáíáΓδóáÑΓß∩, Ñß½¿ DLEVEL >5. é »α«Γ¿ó¡«¼ ß½πτáÑ «íαáíáΓδóáÑΓß∩
- óΓ«αá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞.
- é ΓαÑΓ∞Ѽ »α¿¼ÑαÑ ¿ß»«½∞ºπεΓß∩ ñ¿αÑ¬Γ¿óδ #elif, #else,
- τΓ«íδ ßñѽáΓ∞ «ñ¿¡ ¿º τÑΓδαÑσ óδí«α«ó, «ß¡«óá¡¡δσ ¡á º¡áτÑ¡¿¿
- ¬«¡ßΓá¡Γδ DLEVEL. çñÑß∞ «»αÑñѽ∩ÑΓß∩ ¬«¡ßΓá¡Γá STACK αáó¡«⌐ 0,
- 100 ¿½¿ 200, ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ DLEVEL. àß½¿ DLEVEL>5, Γ«
-
- - 128 -
-
-
- ¬«¼»¿½¿απÑΓß∩ ó맮ó Σπ¡¬µ¿¿ display (debugptr), á ¬«¡ßΓá¡Γá STACK
- ¡Ñ «»αÑñѽ∩ÑΓß∩.
- é τÑΓóÑαΓ«¼ »α¿¼ÑαÑ ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá ¿ß»«½∞ºπεΓß∩
- ñ½∩ π»αáó½Ñ¡¿∩ «í"∩ó½Ñ¡¿∩¼¿ ߻ѵ¿Σ¿¬áΓ«αá αÑú¿ßΓα«ó«⌐ »á¼∩Γ¿
- register ó »ÑαÑ¡«ß¿¼«¼ ¿ßσ«ñ¡«¼ Σá⌐½Ñ. àß½¿ »α«úαá¼¼á ß«ñÑনΓ
- í«½∞ΦÑ «í"∩ó½Ñ¡¿⌐ »ÑαѼѡ¡δσ ¬½áßá »á¼∩Γ¿ register, τѼ ¼«ªÑΓ
- »αÑñ«ßΓáó¿Γ∞ ¼áΦ¿¡á, Γ« ¬«¼»¿½∩Γ«α ¡Ñ «í"∩ó¿Γ ½¿Φ¡¿Ñ »ÑαѼѡ¡δÑ
- ¬á¬ αÑú¿ßΓα«óδÑ. REG1 ¿ REG2 «»αÑñѽ∩εΓß∩ ¬á¬ ¬½ετÑóδÑ ß½«óá
- register, τΓ«íδ «í"∩ó¿Γ∞ αÑú¿ßΓα«óπε »á¼∩Γ∞ ñ½∩ ñóπσ ¡á¿í«½ÑÑ
- ó᪡δσ »ÑαѼѡ¡δσ ó »α«úαá¼¼Ñ. ìá»α¿¼Ñα, ó ß½ÑñπεΘѼ Σαáú¼Ñ¡ΓÑ
- »ÑαѼѡ¡δÑ b ¿ c ¿¼ÑεΓ í«½∞Φ¿⌐ »α¿«α¿ΓÑΓ, τѼ a ¿½¿ d.
-
- func (a)
- REG3 int a;
- {
- REG1 int b;
- REG2 int c;
- REG4 int d;
- .
- .
- .
- }
-
- è«úñá «»αÑñѽѡ ¿ñÑ¡Γ¿Σ¿¬áΓ«α î_86, »αÑ»α«µÑßß«α πñá½∩ÑΓ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ REG3 ¿ REG4 ¿º Σá⌐½á »πΓѼ ºá¼Ñ¡δ Ñú« ¡á »πßΓ«⌐
- ΓѬßΓ. ÉÑú¿ßΓα«óπε »á¼∩Γ∞ ó φΓ«¼ ß½πτáÑ »«½πτáΓ »ÑαѼѡ¡δÑ b ¿ c.
- è«úñá «»αÑñѽѡ ¿ñÑ¡Γ¿Σ¿¬áΓ«α î_68000, Γ« óßÑ τÑΓδαÑ »ÑαѼѡ¡δÑ
- «í"∩ó½∩εΓß∩ ß ¬½áßß«¼ »á¼∩Γ¿ register.
- è«úñá ¡Ñ «»αÑñÑ½Ñ¡δ «íá ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, Γ« «í"∩ó½∩εΓß∩ ß
- αÑú¿ßΓα«ó«⌐ »á¼∩Γ∞ε Γα¿ »ÑαѼѡ¡δÑ a,b ¿ c.
-
-
- 8.3.2. ä¿αÑ¬Γ¿óδ #ifdef ¿ #ifndef
-
- æ¿¡Γá¬ß¿ß:
-
- #ifdef <identifier>
- #ifndef <identifier>
-
- ä¿αÑ¬Γ¿óδ #ifdef ¿ #ifndef óδ»«½¡∩εΓ ΓÑ ªÑ ßá¼δÑ ºáñáτ¿,
- τΓ« ¿ ñ¿αÑ¬Γ¿óá #if, ¿ß»«½∞ºπεΘá∩ defined(<identifier>). ¥Γ¿
- ñ¿αÑ¬Γ¿óδ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ Γá¼ ªÑ, úñÑ ¿ß»«½∞ºπÑΓß∩
- ñ¿αÑ¬Γ¿óá #if, ¿ ¿ß»«½∞ºπεΓß∩ ¿ß¬½ετ¿Γѽ∞¡« ñ½∩ ¬«¼»á¬Γ¡«ßΓ¿ ºá-
- »¿ß¿.
- è«úñá »αÑ»α«µÑßß«α «íαáíáΓδóáÑΓ ñ¿αÑ¬Γ¿óπ ifdef, Γ« ñÑ-
- ½áÑΓß∩ »α«óÑα¬á ¿ñÑ¡Γ¿Σ¿¬áΓ«αá <identifier> ¡á ¿ßΓ¿¡¡«ßΓ∞ (¡Ñ
- ¡π½∞).
- ä¿αÑ¬Γ¿óá #ifdef ∩ó½∩ÑΓß∩ «Γα¿µá¡¿Ñ¼ ñ¿αÑ¬Γ¿óδ #ifdef.
- äαπú¿¼¿ ß½«óἿ, Ñß½¿ <identifier> ¡Ñ «»αÑñѽѡ (¿½¿ Ñú« «»αÑñÑ-
- ½Ñ¡¿Ñ «Γ¼Ñ¡Ñ¡« ñ¿αÑ¬Γ¿ó«⌐ #undef), Γ« Ñú« º¡áτÑ¡¿Ñ ¿ßΓ¿¡¡« (¡Ñ
- ¡π½∞). é »α«Γ¿ó¡«¼ ß½πτáÑ º¡áτÑ¡¿Ñ ½«ª¡« (¡π½∞).
-
-
-
-
- - 129 -
-
- 8.4. ô»αáó½Ñ¡¿Ñ ¡π¼ÑαᵿÑ⌐ ßΓ᫬
-
- æ¿¡Γá¬ß¿ß:
-
- #line <constant>["filename"]
-
- ä¿αÑ¬Γ¿óá #line ¿¡ßΓαπ¬Γ¿απÑΓ ¬«¼»¿½∩Γ«α «í ¿º¼Ñ¡Ñ¡¿¿ ó¡πΓ-
- αÑ¡¡Ñ⌐ ¡π¼Ñαᵿ¿ ßΓ᫬ ¿ ¿¼Ñ¡¿ Σá⌐½á ¡á ºáñá¡¡δ⌐ ¡«¼Ñα ßΓ᫬¿ ¿
- ¿¼∩ Σá⌐½á, ñ½∩ Γ«ú« τΓ«íδ ߽߫áΓ∞ß∩ ¡á ¡¿σ ó ß½πτáÑ «Φ¿í«¬, «í¡á-
- απªÑ¡¡δσ ó »α«µÑßßÑ ¬«¼»¿½∩µ¿¿. 쫼Ñα ßΓ᫬¿ «íδτ¡« ß««ΓóÑΓßΓóπÑΓ
- ¡«¼Ñαπ ΓѬπΘÑ⌐ óσ«ñ¡«⌐ ßΓ᫬¿. ê¼Ñ¡¿ Σá⌐½á ß««ΓóÑΓßΓóπÑΓ ¿¼∩ ΓÑ-
- ¬πΘÑú« óσ«ñ¡«ú« Σá⌐½á. 쫼Ñα ßΓ᫬¿ πóѽ¿τ¿óáÑΓß∩ »«ß½Ñ «íαáí«Γ¬¿
- ¬áªñ«⌐ ßΓ᫬¿. é ß½πτáÑ ¿º¼Ñ¡Ñ¡¿∩ ¡«¼Ñαá ßΓ᫬¿ ¿ ¿¼Ñ¡¿ Σá⌐½á,
- ¬«¼»¿½∩Γ«α ¿ú¡«α¿απÑΓ »αÑñδñπΘ¿Ñ ¿σ º¡áτÑ¡¿∩ ¿ »α«ñ«½ªáÑΓ «íαá-
- í«Γ¬π ß ¡«ó묨 º¡áτÑ¡¿∩¼¿.
- ä¿αÑ¬Γ¿óá #line «íδτ¡« ¿ß»«½∞ºπÑΓß∩ ñ½∩ »α«úαá¼¼¡«⌐ úÑ-
- ¡Ñαᵿ¿ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ ß« ßßδ½¬á¼¿ ¡á ¡«¼Ñα ßΓ᫬¿ ¿ ¿¼∩
- Σá⌐½á.
- ç¡áτÑ¡¿Ñ ¬«¡ßΓá¡Γδ <constant> ó ñ¿αÑ¬Γ¿óÑ #line - φΓ« ½εíá∩
- µÑ½á∩ ¬«¡ßΓá¡Γá. ê¼∩ Σá⌐½á <filename> ¼«ªÑΓ íδΓ∞ ½εí«⌐ ¬«¼í¿-
- ¡áµ¿Ñ⌐ ß¿¼ó«½«ó, ºá¬½ετÑ¡¡«⌐ ó ñó«⌐¡δÑ ¬áóδτ¬¿ ("). àß½¿ ¿¼∩ Σá⌐-
- ½á «»πΘÑ¡«, »αÑñ»«½áúáÑΓß∩, τΓ« ¿¼∩ Σá⌐½á «ßΓὫß∞ ΓѬπΘ¿¼.
- ÆÑ¬πΘ¿Ñ ¡«¼Ñα ßΓ᫬¿ ¿ ¿¼∩ Σá⌐½á ñ«ßΓπ»¡δ τÑαѺ »αÑñ«»αÑñÑ-
- ½Ñ¡¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ __LINE__ ¿ __FILE__. êñÑ¡Γ¿Σ¿¬áΓ«αδ
- __LINE__ ¿ __FILE__ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ »α¿ óßΓáó¬Ñ ó
- ¿ßσ«ñ¡δ⌐ Σá⌐½ »α«úαá¼¼¡«ú« ΓѬßΓá óδñáτ¿ ß««íΘÑ¡¿⌐ «í «Φ¿í¬Ñ.
- ÅÑαѼѡ¡á∩ __FILE__ ß«ñÑαª¿Γ ßΓ᫬π, »αÑñßΓáó½∩εΘπε ¿¼∩
- Σ⌐½á, ºá¬½ετÑ¡¡«ú« ó ñó«⌐¡δÑ ¬áóδτ¬¿. Æá¬¿¼ «íαẫ¼, ¡ÑΓ ¡Ñ-
- «íσ«ñ¿¼«ßΓ¿ ºá¬½ετáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α __FILE__ ó ñó«⌐¡δÑ ¬áóδτ¬¿,
- ¬«úñá «¡ ¿ß»«½∞ºπÑΓß∩.
-
- Åα¿¼Ñαδ:
-
- /*.....* example 1 *.....*/
- #line 151 "copy.c"
-
- /*..... example 2 *.....*/
- #define ASSERT(cond) if(!cond)\
- {printf("assertion error line %d, file(%s)\n", \
- __LINE, __FILE);}else;
-
- é »Ñαó«¼ »α¿¼ÑαÑ ¡«¼Ñα ßΓ᫬¿ πßΓá¡áó½¿óáÑΓß∩ αáó¡δ¼ 151 ¿
- ¿¼∩ Σá⌐½á ¿º¼Ñ¡∩ÑΓß∩ ¡á copy.c.
- é« óΓ«α«¼ »α¿¼ÑαÑ ó ¼á¬α««»αÑñѽѡ¿¿ ASSERT ¿ß»«½∞ºπεΓß∩
- »αÑñ«»αÑñѽѡ¡δÑ ¿ñΘÑ¡Γ¿Σ¿¬áΓ«αδ __LINE__ ¿ __FILE__ ñ½∩ »ÑτáΓ¿
- ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ, ß«ñÑαªáΘÑú« ¬««αñ¿¡áΓδ ¿ßσ«ñ¡«ú« Σá⌐½á, Ñß½¿
- ºáñá¡¡«Ñ "πΓóÑαªñÑ¡¿Ñ" ½«ª¡«. çá¼ÑΓ¿¼, τΓ« ñó«⌐¡δÑ ¬áóδτ¬¿ »α¿
- ºáñá¡¿¿ »αÑñ«»αÑñѽѡ¡δσ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ¡Ñ ΓαÑíπεΓß∩.
-
-
-
-
-