[elektro] PIC C sztring
Palasik Sandor
palasik at mail.datanet.hu
Fri Feb 24 18:36:44 CET 2012
> Valamelyik könyv azt írta, nem is használja a "[]" jelölést, mert
> úgyis pointerekre fordul le, minek elfedni a működését :)
Nem az első könyv, amiben hülyeséget írnak.
A legtöbb helyen mindegy, de van ahol nem. Pl. a következő kettő ekvivalens:
void x(char *p);
void x(char p[]);
és igazából mindkettő azt jelenti, hogy char *p, mert tömböket nem adnak
át érték szerint. A C első változatában még a struct-okat is cím szerint
adták át.
De az extern char * és az extern char [] nem ekvivalens, mert valahogy el
kell mesélni a fordítónak, hogy egy fix tömb valamelyik fix elemére
gondolsz, vagy egy olyan pointer objektumra, ami aztán tartalmazza az igazi
memóriacímedet. Ha az egyik forrásban az egyiket gondolja, a másikban meg a
másikat, akkor a linker már nem fog rájönni, hogy mi a teendő.
Palasik Sándor
More information about the Elektro
mailing list