<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>