[elektro] PIC C sztring

potyo potyo.ada at gmail.com
Fri Feb 24 13:28:07 CET 2012


2012. február 24. 13:22 Hofferek Attila írta, <hofi at soka.co.hu>:

> On Fri, 24 Feb 2012 13:11:21 +0100, SZIGETI Szabolcs wrote:
> > Hali!
> >
> > Ez így van. A következő gyakorlatig minden C fordítóval  működik:
> >
> > Van egy a tömbünk. Mondjuk int a[10].
> > Ennek 3. eleme a[3] ugye átírható pointerre így: *(a+3)  (mivel ugye
> > a ==
> > &a[0], utána pedig pointer aritmetika)
> > Az összeadás kommutatív, tehát *(a+3) az *(3+a)
> > amely pedig az első pontot visszafelé követve 3[a].
> > Meglehetősen nagy zavart lehet ezekkel okozni, ha valahova ezt írjuk
> > :-)
>
> Hello,
> itt az int mérete nem kavar be? Az a+3 az 3 int méretnyivel növel?


Igen, azt a fordító elrendezi. Abból, hogy az "a" int-re mutató pointer,
abból tudja, hogy 3*sizeof(int)-et kell neki hozzáadnia az "a"-hoz.


More information about the Elektro mailing list