Rzutowanie na zmienną w strukturze

0

Jak mam strukturę:

struct Interrupt_Controller
{
  volatile struct Hardware* hardware;
  //inne zmienne
};

to jak zrzutować zmienną typu void * na HARDWARE * ???

Interrupt_Controller *contrl;
void *wsk=0x06008000;
switch(control->hardware)
{
   case (jak tu rzutować)wsk: ...//coś się wykonuje
   case ... itd.
}

Tak naprawdę to nie mam void *wsk tylko dyrektywę:
#define BASE_1 ((void*)(0x06008000))
i tam mam case (jak tu rzutować)BASE_1: ...//coś się wykonuje

0

Oczywiście między tymi deklaracjami Interrupt_Controller *contrl; void *wsk=0x06008000; jest inicjalizacja pól contrl. Tak na szybko napisałem.:)

0
void * temp = ...;
HARDWARE * hard = (HARDWARE*)temp;

?

0

ano rzeczywiście przecież to proste. Zasugerowałem się tym, że Hardware jest w strukturze i wydawało mi się że nie można tak (Hardware *) :) Dzięki.

0

Jeśli to miałoby być C to powinieneś napisać

(struct HARDWARE*)temp;

;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1