photo by aidken
調べてみたけど、Cって本当に面倒くさい。行列のサイズを知るだけなのになんでこんなにコードを書かないといけないんだ。
Cではsizeof演算子というものをつかってサイズを知るらしい。でもこれ、単純に要素数を出すわけではないようで、以下のプログラムでも6×4の行列なのに、96という答えが出る。なぜだ。
#includeint main() { int pack[6][4]; const int A=sizeof pack; const int B=sizeof pack/ sizeof pack[0]; const int C=sizeof pack[0]; const int D=sizeof pack[0]/sizeof pack[6][4]; const int E=sizeof pack[6][4]; printf("%d\n",A); printf("%d\n",B); printf("%d\n",C); printf("%d\n",D); printf("%d\n",E); return 0; }
実行後↓
96 6 16 4 4 logout [プロセスが完了しました]
ちなみにMATLABでは
pack=zeros(6,4); disp(size(pack));
実行後↓
[6 4]
簡単ですね♪