プロが教えるわが家の防犯対策術!

こんにちは。ちょっとわかりにくい説明かと思います。

行いたいイメージは
byte test[2][X]= {{0,0,0,0,0},{1,1,1,1,1} };
というデータ配列Xの数が変動するので
Mallocを使用して動的にメモリを確保したい。(ここでは例として5つとってますが)
それをポインター変数により管理したいと考えています。

byte *test;
byte num= 5;
test = (byte *)MALLOC(sizeof(byte)*(2*(num)));

というようにメモリを確保した後
ある文字列("01001"というような文字列)をこの配列にコピーしたい。
配列のイメージでは
test[0]={{0,1,0,0,1}};
test[1]={{1,0,0,1,1}};
というような形で管理したいと思ってます。

pBuffer="01001";
memcpy(pBuffer, test[0], 5);
pBuffer="10011";
memcpy(pBuffer, test[1], 5);

このように実装しました。
これであってますでしょうか?

さらに、ここからデータを取得したい場合
例えば二次元配列でいう
test[0][1]に入っている(この例題では)1を取り出すには
どのような記述になるのでしょうか?

わかりにくい記述で申し訳ないですが、
ご存知の方、よろしくご教授ください。

A 回答 (1件)

やりたいことがよくわからないのでメモリ確保のところだけですが,



byte *test[2];
int num = 5;
test[0] = malloc(sizeof (test[0][0])*num);
test[1] = malloc(sizeof (test[1][0])*num);

とすれば普通の 2次元配列と同じアクセスできます.
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
とても参考になりました。

お礼日時:2004/09/06 16:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!