<div dir="ltr"><div>char *f[] - f je pole ukazatelu na char<br></div><div>char (*f)[] - f je ukazatel na pole charu </div><div>zjednodusene receno: zaciname cist od idenfifikatoru (f) a pokracujeme doprava (pokud nas nezastavi zavorka ktera se musi vyhodnotit jako prvni) a pak cteme cast vlevo.</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Dne 8. ledna 2016 12:17 Miroslav Mraz <span dir="ltr"><<a href="mailto:mrazik@volny.cz" target="_blank">mrazik@volny.cz</a>></span> napsal(a):<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">NenĂ tomu tak. Ty závorky (*foo) tam majĂ svĹŻj vĂ˝znam (jako napĹ™. u ukazatele na funkci) i kdyĹľ moc nechápu jakĂ˝. V pĹ™ĂpadÄ›, Ĺľe je odstranĂm nastane chyba<br>
<br>
test.c:14:11: error: incompatible types when assigning to type â€char *[20]’ from type â€char (*)[20]’<span class=""><br>
  ps->foo = & pole;   // Tohle je pro mne nečitelné<br>
<br></span>
Ale s tou dĂ©lkou v pamÄ›ti budete asi mĂt pravdu. NicmĂ©nÄ› uĹľ mi to hraje, bylo potĹ™eba vyházet dynamickou alokaci pro tyhle struktury, ta tam byla dost zbyteÄŤnÄ›, protoĹľe to alokuje jen na začátku a na konci se to zase uvolnĂ.<br>
TakĹľe MP3 pĹ™ehrávaÄŤ na STM32F4 jako ÄŤistÄ› softwarová záleĹľitost je zvládnutelnĂ˝, malĂ© demo uĹľ mám, zatĂm hraju jen z internĂ flashky s pevnĂ˝m formátem audio, hraje to bez lupánĂ, pĹ™iměřenÄ› ke kvalitÄ› kodeku a vstupnĂho formátu.<br>
Na webu se dá najĂt demo, ale nenĂ tam popsáno jak do toho dostat vlastnĂ melodii. A zĹ™ejmÄ› se tomu ÄŤlovĂÄŤkovi taky dÄ›laly problĂ©my s alokacĂ pamÄ›ti, protoĹľe si napsal vlastnĂ alokátor. Tak jsem si pohrál a jsem rád, Ĺľe ĂşspěšnÄ›.<br>
<br>
MrazĂk<br>
<br>
<br>
Dne 8.1.2016 v 11:21 Jiřà Nesvačil napsal(a):<span class="im HOEnZb"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Rekl bych, ze toto se rozlozi:<br>
struct strange {<br>
  char (*foo) [FOOLEN]; // Proč ???<br>
};<br>
<br>
struct strange {<br>
  char *foo [FOOLEN];<br>
};<br>
<br>
Dale pak skoro ekvivaletne<br>
struct strange {<br>
  char **foo;<br>
};<br>
<br>
Ta definice delky muze souviset s definici v pameti. Pokud kompiler nevi<br>
jak to je dlouhe, tak se z toho nedaji delat tabulky, ale implementuje<br>
se to jako pole odkazu. Kdyz tomu dam delku, tak by to kompiler mohl<br>
delat jako tabulku s jasne danym rozmerem a ne jako pole pointeru.<br>
<br>
Jirka<br>
<br>
<br>
</blockquote></span><div class="HOEnZb"><div class="h5">
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</div></div></blockquote></div><br></div>