• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dynamiczna alokacja tablicy dwuwymiarowej - wyjaśnienie - C

Mały hosting, OGROMNE możliwości
0 głosów
568 wizyt
pytanie zadane 7 stycznia 2017 w C i C++ przez Astenna Początkujący (340 p.)
typedef struct {
int wymx, wymy;
void *piksel;
} t_obraz;          
int alokuj(t_obraz *obraz) {
...
fscanf(plik_we,"%d", &(obraz->wymx));  /* analogicznie wymy */
obraz->piksel=malloc(obraz->wymx*obraz->wymy*sizeof(int));
int (*piksel)[obraz->wymx]; 
piksel=(int(*)[obraz->wymx]) obraz->piksel;
...

Rozumiem:

-co robi malloc

-następną linijkę - utworzony jest wskaźnik na tablicę o rozmiarze wymx

Co dzieje się dalej w piksel=(int(*)[obraz->wymx]) obraz->piksel?

 

 

1 odpowiedź

0 głosów
odpowiedź 8 stycznia 2017 przez Patrycjerz Mędrzec (192,320 p.)

Zachodzi tutaj przypisanie wskaźnikowi piksel wskaźnika piksel rzutowanego na typ int(*)[obraz->wymx], choć nie ma to większego sensu z powodu natychmiastowej utraty rzutowanego typu.

Podobne pytania

+1 głos
0 odpowiedzi 1,263 wizyt
0 głosów
1 odpowiedź 2,020 wizyt
pytanie zadane 4 lipca 2017 w C i C++ przez kyly Początkujący (260 p.)
0 głosów
2 odpowiedzi 483 wizyt

93,720 zapytań

142,633 odpowiedzi

323,264 komentarzy

63,267 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...