Przekazywanie wskaźnika do struktury do wywołania funkcji.

0

Witam forumowiczów, poległem na wydawałoby się prostej rzeczy jaką jest operowanie strukturami i funkcjami. W takim dość rozbudowanym zadaniu na studia muszę korzystać z tego i napotkałem proglem kiedy chcę w mojej funkcji odwołać się do danych zawartych w strukturze.
Struktura wygląda tak:

 typedef struct {
int wymx, wymy;
int szarosci;
void *piksele;

} t_obraz;

Następnie (zakładając przykładowe wywołania dla danych struktury) chciałbym się odwołać do niej w funkcji która wygląda tak:

t_obraz->wymx=10;
t_obraz->wymy=20;
t_obraz->szarosci=100;
/*pomijam już to że piksele są tam gdzieś zaalokowane */
void histogram (t_obraz *obraz){ /*jakiskod*/ 

i teraz pytanie jak ma wyglądać odwołanie do tego ? Bo kiedy robię to tak :

 histogram(&obraz);

to dostaję coś takiego przy kompilacji

note: expected ‘struct t_obraz *’ but argument is of type ‘struct t_obraz **’
 void histogram (t_obraz *obraz);
 

Próbowałem na różne sposoby z operatorami & i * ale nic mi nie wychodzi :(

0
histogram(obraz);
0
t_obraz obraz;
obraz.wymx=10;
obraz.wymy=20;
obraz.szarosci=100;
histogram(&obraz);

Poza tym już to było: http://4programmers.net/Forum/C_i_C++/240490-funkcje_tworzaca_strukture_image?p=1075360#id1075360

0

To jeszcze miałbym pytanie jest jakaś różnica między "->" a "." ?

1

kropki używasz bezpośrednio ze strukturą, strzałki ze wskaźnikiem do struktury.

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