11月 9日

第6章

有効範囲 (スコープ、scope)
教科書 p.125
変数には有効範囲がある。同じ変数名でも有効範囲が異なれば別の変数になる (List 6-10)。
関数プロトタイプ宣言
教科書 p.127
関数を定義より前に使用する場合は、プロトタイプ宣言が必要である (List 6-10)。

文法事項: “宣言”に追加
分類一般形補足説明
関数プロトタイプ宣言 関数名 ( 変数名 , ..., , 変数名 ) ; 変数名は省略可能

関数定義が使うよりも前にある場合は、定義が宣言を兼ねるのでプロトタイプ宣言は不要である。

ヘッダとインクルード
教科書 p.128

    #include <stdio.h>
の stdio.hはヘッダファイルと呼ばれ、printf, putcharなどの 関数のプロトタイプ宣言が集められたファイルである。

bcc32の場合、c:\borland\bcc55\Include\stdio.hに実体がある。 (処理系により標準のヘッダファイルがおかれる場所は異なる。)

#includeはファイルの内容を、そっくりそのままその場所に読み込む指令である。

ライブラリ関数(前もって用意された仮数)を利用する時は、 適切なヘッダファイルをインクルードする必要がある。 例えば、sin, cos, sqrtなどの数学関数を利用する時は math.hをインクルードする。

Warning
教科書 p.139
発音は[wɔ:nɪŋ]、 カナでこれに近いのはウォーニングになる。 walkをワーク、workをウォーク、warmをワーム、wormをウォーム watchをワッチ、waterをワーター, wordをウォード, worldを ウォールドと読むなら、warningをワーニングと読んでも許す。 (他に was, warp, wonなどが間違いやすい)
有効範囲と識別子の可視性
教科書 p.141
同名の変数の有効範囲が重なる時、 より内側のブロックで宣言されているものが優先する。 (List 6-18
記憶域期間
教科書 p.142
C言語の変数の寿命(記憶クラス, storage class)には2種類のものがある。 (List 6-19

第8章

再帰 (recursion)
教科書 p.194
関数のなかで自分自身(と同じ関数)を呼び出すこと。一般に xの定義に x自身を使用すること。(例: 数列の漸化式)
List 8-6, List 8-7
factorial(5)
    ->  5 * factorial(4)
        ->  5 * 4 * factorial(3)
	    ->  5 * 4 * 3 * factorial(2)
	        ->  5 * 4 * 3 * 2 * factorial(1)
		    ->  5 * 4 * 3 * 2 * 1 * factorial(0)
                        ->  5 * 4 * 3 * 2 * 1 * 1
注: その他の再帰関数の例

戻る


Koji Kagawa(kagawa@eng.〜)