1

プロジェクトで以下のコード スニペットを見つけましたが、変数 " response " の値がどのように計算されるかわかりませんでした。ここでわかるように、pic_data は 2 つの 1 次元配列を保持しますが、" response " は両方の 1 次元配列を 2 次元配列としてアクセスします。誰でもこれがどのように機能するか説明できますか?

注: 以下のコードは、より大きなコード ブロックの本格的なコード スニペットではありません。

#define MAX 100
#define MAXBUF 100

u32 response;
u32 index;

typedef struct {
    u16         flag;   
    u16         status;  
} __attribute__ ((packed)) register;

typedef struct
{
    register      *rq[MAX];
    u64            buf[MAXBUF];

}Data;

Data *pic_data;



void getres(Data *pic_data) {
    response = *((u32*)&(pic_data->rq[index][pic_data->buf[index]]));
}
4

1 に答える 1