Głupi problem ze wskaźnikami

0

Chce zrobić takie coś:

[code]
void *table[10];

int main()
{
table=0x12345678;
}
[/code]

void *table ma wskazywać na 0x12345678 i pamięci, table[1] na 0x12345679 itd. Probowalem juz wiele przypisań ale za kazdym razem kompilator zwraca błedy typu "incompatible types in assignment" czy "invalid lvalue in assignment". Help ;)

0

1. A czy wiesz, co czynisz? :)

void *table[10];
  • 'to' (nie wiem, czy wiesz) deklaruje tablicę 10 wskaźników void (10 void*).

Więc najpierw zapytam, czy faktycznie chciałeś to zdeklarować...:)

2.

...void *table ma wskazywać na 0x12345678 i pamięci, table[1] na 0x12345679...

Yyy... przecież void, jak sama nazwa wskazuje, jest typem próżniowym;). Jeżeli to miałaby być tablica jaką tu opisałeś, to powinno to chyba wyglądać jakoś tak:

unsigned char (*table)[10];
table = (unsigned char(*)[])0x12345;

Ale pisałem to z pamięci i nie mam pewności, czy podziała....

0

ja bym zadeklarowal tablice jako char lub unsigned char i przepisywal jej wartosc za pomoca przesunienc dla kazdej komorki osobno...

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