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

Odpowiedz Nowy wątek
2014-12-21 00:01
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 :(

Pozostało 580 znaków

2014-12-21 00:06
0
histogram(obraz);

Pozostało 580 znaków

2014-12-21 00:15
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


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2014-12-21 00:21
0

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

Pozostało 580 znaków

2014-12-21 00:28
1

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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