マトリョーシカ的日常スマートフォン用の表示で見るマトリョーシカ的日常ワクワクばらまく明日のブログ。二次元配列ってわかりづらいいや、二次元配列がわかりにくいわけではない。matlabに比べてCは配列に関するコードが長ったらしいのだ。任意の行の内容を出力するのにいちいち行と列成分を指定し、for文で回さないといけなかったり、行列のサイズを取得するのにも割り算を使う必要があったり...。調べてみてもポインタだの宣言だのint型long型だの訳の分からない単語を使い、初心者を煙に巻くのだ。それでも配列に関して、わずかながら理解することが出来たのでここにまとめてみようと思う。一次元配列は一戸建てで、二次元配列はアパート。配列とは似たような要素を収納する箱のようなもので、箱それぞれに番号を与え、後から要素を取り出すときに分かりやすくする働きがある。上の図の場合は配列は箱ではなく家で、要素は家に住んでいる人の年齢だと考えてほしい。一次元配列は一戸建て、二次元配列はアパートと考えると分かりやすい。注意してほしいのは、番号が0から始まるということだ。以下のプログラムでは番地を指定する変数f(整数)を0から3未満、つまり0から2まで一つずつ増やし、一戸建てに住んでいる人の年齢を出力させている。31logout[プロセスが完了しました]次に二次元配列の場合のプログラムを載せる。50logout[プロセスが完了しました]配列のサイズを取得するさて、配列の要素を出力するにはfor文を用いるが、これには何回繰り返すかを入力する必要がある。上のプログラムでは2回や3回といった定数で入力していた。これでは配列のサイズ(アパートの大きさ)が変わったときにいちいち書き換えなくてはならず、やや面倒である。いうわけで今度は繰り返す回数を「配列のサイズ」という変数で決めるプログラムをつくる。配列のサイズを取得するにはsizeof演算子をつかう。for文の中の2,3をそれぞれrowとcolに書き換える。pack」は直接配列のサイズを返すわけではない。ここでは360というよくわからない数字になっている。pack[0]で除する必要がある。pack[0]は一行分のサイズである。360/40=9となる。pack[0][0]。pack[0][0]は要素一つ分のサイズ。分かりにくい場合は要素一つ分のサイズを部屋の広さに置き換えるといいかもしれない。一部屋四畳のおんぼろアパートだ。9×10=90部屋あるこのアパートの広さの総和は90×4=360畳。一行分のサイズは同じ階にある部屋の広さの総和40畳...。こんなんでわかるのかな。