OT:programovani v C

Jan Waclawek konfera@efton.sk
Pondělí Červen 15 23:23:24 CEST 2009


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



Další informace o konferenci Hw-list