[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