最近ハマったのが、2次元配列のポインタ渡し。
uint8_t twoDimArray[255][3]といった生のCの2次元配列をポインタで受け取りたい場合、以下のようにします。
@interface myClass : NSObject{ uint8_t (*_twoDimArray)[3]; } -(void)setTwoDimArray:(uint8_t [][3])twoDimArrayy; @end @implementation -(void)twoDimArray:(uint8_t [][3])twoDimArray{ //インスタンス変数にポインタを格納 _twoDimArray = twoDimArray; } @end引数の型は(uint8_t [][3])、
それを受け取るインスタンス変数はuint8_t (*_twoDimArray)[3]とします。
これで、myClassは配列の先頭ポインタと、2次元目の要素数は3であるという情報を持つことができます。
ちなみに、今回渡しているのはインデックスカラーの画像のカラーマップです。
0 件のコメント:
コメントを投稿