0

次の構造ポインタを使用してデータ パケットをフレーム化しようとしています。

typedef struct address {
    unsigned char *mac_destn_addr;
    unsigned char *mac_src_addrl
}address_t;

typedef struct frame {
    address_t     *eth_addr;
    unsigned char *payload;
    unsigned int  *crc32;
}frame_t;

typedef struct eth_ctrl {
    unsigned char *no_of_pkt;
    unsigned short *delay;
    frame_t     **eth_frame;
}eth_ctrl_t;

address_t *adr;
frame_t *frame;
eth_ctrl_t *control;

void main(int argc, char *argv[])
{
    adr = malloc(sizeof(address_t));
    frame = malloc(sizeof(frame_t));
    control = malloc(sizeof(eth_ctrl_t));

    frame->eth_addr = adr;
    control->eth_frame = &frame;

    printf("CRC32 : 0x%x\n", (*control)->eth_frame->crc32);
}

crc32変数のアドレスを出力します。そのアドレスに存在する値を出力する必要があります。で試しましたが*(*control)->eth_frame->crc32**(control->eth_frame->crc32)正しい値が出力されません。

4

1 に答える 1