• 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

Cloud VPS
0 głosów
508 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,201 wizyt
0 głosów
1 odpowiedź 1,877 wizyt
pytanie zadane 4 lipca 2017 w C i C++ przez kyly Początkujący (260 p.)
0 głosów
2 odpowiedzi 374 wizyt

93,460 zapytań

142,454 odpowiedzi

322,724 komentarzy

62,837 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

Kursy INF.02 i INF.03
...