Tema: Re: C: masyvo elementu perdavimas funkcijai
Autorius: Laimis
Data: 2011-02-28 20:25:19
trigras rašė:
> 2011.02.28 19:34, Laimis rašė:
>> Kantega rašė:
>
>>
>> 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:
>
> Bandysiu būti nepopuliarus ir suabejoti aukščiau išsakytais teiginiais

Ir taip ir ne.
DisplayData yra pointer'is (tad *(DisplayData + 1) suveiktų) , o 
elementus (DisplayData[x]) jau pats kompiliatorius dereference'ina. 
Kadangi kiek nusišnekėjau, tai pabandysiu pasitaisyti dar sykį spėdamas. 
Ar tik tos nesąmonės nevyksta todėl kas kažkur norima išvesti eilutę 
(pvz. printf "%s\n" ...) paduodant raideles, be \0 terminatoriaus?