※ ChatGPTを利用し、要約された質問です(原文:C言語の2次元配列における行・列指定)
C言語の2次元配列における行・列指定
このQ&Aのポイント
C言語では、2次元配列の行と列を指定する方法について疑問があります。
配列のメモリ上の割り当てやデータの読み書きについても考えています。
C言語初心者ですので、ご教授いただけると幸いです。
C言語初心者ですがよろしくお願いします。
C言語では、例えばint型の3行4列の2次元配列を表現するときに、
int array[3][4];
とするようですが、
必ず1つ目の[ ]で行番号を、2つ目の[ ]で列番号を表さなければならないものなのでしょうか。
もし慣習的にそうしているものなら、
行と列を指定する[ ]を入れ替えてプログラムを作成しても問題ないのでしょうか?
というのも、メモリ上の割り当てが、
array[0][0]
array[0][1]
array[0][2]
array[0][3]
array[1][0]
array[1][1]
array[1][2]
...
...
...
array[2][2]
array[2][3]
のようになるなら、
その配列をfwrite関数でバイナリデータに書きこんで、再度、列方向に読み込みたい時に、
あらかじめ書きこむ前のデータをarray[列][行]の形で扱っていった方が便利ではないかと思ったのですが、なにか初歩的な勘違いしてたりしますでしょうか?
ご教授お願いします。
お礼
再度ご回答ありがとうございます。 個人的には、速度を向上させるということよりも、 他の言語でデータを出力する際のフォーマットと一致させることが目的でした。 他の言語での出力方法はこれから確認していくところですが、 今はとにかく基本的なことを勉強している段階なので、ご回答参考になりました。 ありがとうございました。