|
配列使用時の注意
今回のテーマは、配列使用時の注意です。最初に言っておくと、これは非常に重要です。(「非常に」「重要」という言葉を普段管理人はあまり使いませんが、ここだけは使っておきます。)これは、単なるテクニックにとどまらず、Cプログラムの品質を根幹から支えると言ってもいいくらいのテクニックです。
なぜかというと、C言語のプログラムのバグの原因の代表格が、「配列の要素を超えた不正アクセス」だからです。しかもこれをやると一発でプログラムがアボートしたり、意図しないメモリ領域を書き換えたりして、原因究明が困難になったりします。
配列を作るときは、その要素数を変数として持ちます。これについては、「配列の要素数を知る」を見てください。
Cのプログラムに熟練してくるほど、なるべく配列は使わないようになってきます。それは、配列の要素を超えた不正アクセスがバグの原因になることが圧倒的に多いことを、経験的に知っているからです。配列の添え字に対して入り組んだ計算をするなんていうのは、ほぼ自殺行為だと言ってもいいでしょう。
関数の引数に配列を渡したり、2次元配列を使うような場面が出てきたら、本当にそうしなければならないのか、もう一度よく考えてみましょう。大抵の場合は、もっと原始的に作ることができます。
また、C++を使うと、このような心配をする必要がなくなります。詳しくはここでは説明しませんが、もっと高度でバグのないプログラムを作りたいと思ったら、C++を習得することをお勧めします。
|