2007年度の授業は終りました。 この授業のページは参照用の資料として保存しているものです。最新の情報・資料は
江上の授業ページ
で。
[
Back
] - [
EGAMIX トップ
] > [
授業のページ
] > [
2007年度ソフトウェア実習II
] > [ソフトウェア実習II 授業内容]
配列の怖さ
なにが恐いの?
配列は配列要素が連続しており、実際の記憶もメモリー上に連続して行われます。
標準的な
基本的に C 言語は、
配列要素の数の上限(下限)のチェックをしません(情報が保護されない)
。
このため、配列の使い方が誤っていると、変数・プログラムが破壊されて正しく動作しなくなる可能性があります。よって、配列の宣言・使用は慎重に行う必要があります。
チェックをしない理由はいろいろ考えられますが、
・チェックをするとプログラムが遅くなる(C言語が生まれた当時は、計算機の能力がまだ低く、致命的でした)
・そのような制限を設けるとトリッキーなプログラム手法が使えなくなる(システム記述には必要?)
・C言語の他の部分(たとえばポインタ変数)との関係のため
などでしょうか。この特徴は、教育用に使用する言語としては少々辛いところです。
もっともプログラミングの授業では、プログラムが破壊されたとしても、エラーによって人が死ぬようなことはないわけで、どちらかというと
プログラムミスの発見・修正が面倒になる
という程度か・・・!?
Kunihiro Egami <egami@egamix.com>