Tema: Re: C: masyvo elementu perdavimas funkcijai
Autorius: Laimis
Data: 2011-02-28 19:34:26
Kantega rašė:
> Sveiki,
>
> pagelbėkit lameriui su C (jei konkrečiai, tai WinAVR C) ;) turiu
> funkciją:
>
> void WriteByteToDisplay(unsigned char ByteToSend).
>
> Jeigu jai perduodu tiesiogines konstantas. tipo 'K' arba paprastus
> unsigned char kintamuosius, viskas veikia. Tačiau, jei tik pabandau
> padaryti tokį fokusą:
>
> unsigned char DisplayData[5]; DisplayData[5] = 'F', 'U', 'C', 'K',
> 'K';

Toks DisplayData[] yra pointer'is (t.y. jo elementų reikšmės yra 
adresai, kuriuose saugomos reikšmės, o ne pačios reikšmė). Perduodant jo 
elementų *reikšmes* (turinį) funkcijai, kuri tikisi unsigned char 
reikšmės, reikia dereference'inti:

>
> ... WriteByteToDOG(DisplayData[0]); .... arba kokiam cikle:

WriteByteToDOG(*DisplayData[0]);