OT:programovani v C
Ales Prochaska
prochaska@alsoft.cz
Úterý Červen 16 00:00:58 CEST 2009
Jasne, dik. Ted si vzpominam, ze uz mi to nekdo vysvetloval ale tohle
je na me trochu moc a nejak se mi to nechce udrzet v hlave :-) Hlavne
me rozhodilo, ze uvnitr funkce x
typedef float tvektor[8];
void x(tvektor koef) { ... }
maji sizeof(tvektor) a sizeof(koef) ruznou velikost. Ada by mi tohle
neudelala... :-) Ale uz to zase nejakou chvili budu chapat :-)
Ales Prochaska
> sizeof() je jedna z mala vynimiek, ked sa pole (ktore v skutocnosti
> v C neexistuje a je to len taky syntakticky fake) poklada za pole
> (C99, 6.3.2.1, odst.4) a sizeof vracia jeho velkost v byte
> (6.5.3.4). Bohuzial, 6.5.3.4 hovori aj to, ze vysledok sizeof je
> implementacne zavisly (kedze interpretacia "byte" je tiez
> implementacne zavisla); ale zvycajne to sedi tak ako si clovek predstavuje.
> wek
> On Mon, 15 Jun 2009 22:54:47 +0200
> Ales Prochaska <prochaska@alsoft.cz> wrote:
>> Jj, to jsem měl na mysli, dík. Zapomněl jsme to napsat a taky jsem
>> nenapsal, že si hlavně nejsem jistý tím, jestli sizeof() vrátí
>> velikost pole nebo počet složek nebo velikost pointeru na pole nebo co
>> vlastně :-)
>>
>> Ales Prochaska
>>
>> > No, spravne je siroky pojem... Syntakticky ano, ale ci je to to, co
>> > ste chceli (koef prekopirovat do xkoef)... Plus treba #includnut
>> > header s prototypom memcpy (string.h? nepamaram si...)
>>
>> > wek ("the C hater")
>>
>>
>> > -----Original Message-----
>>
>> > Osud me donutil napsat nekolik radku v mem neoblibenem jazyce. Uz jsem
>> > zase vsechno zapomnel, tak prosim o radu - je nasledujici fragment
>> > spravne? Dik
>> > Ales Prochaska
>>
>>
>> > typedef float tvektor[8];
>> > tvektor koef;
>> > tvektor xkoef;
>> > // ...
>> > memcpy(xkoef, koef, sizeof(koef));
>>
>>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list