ampersandy u promeenych (Was:RE: Jsem zoufaly, neidentifikovatelna chyba v programu v C)
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Čtvrtek Květen 25 11:51:40 CEST 2000
On Thu, 25 May 2000, Jaroslav Honsa wrote:
> 2.Priklad:
> void funkce1(char *prom1);
>
> void funkce2(char prom2[])
> {
> ...
> funkce1(prom2);
> ...
> }
> - tady NESMI byt & u prom2!
Tady je to hodne zakerne. Kdyz do parametru napisete char prom2[], je to
vicemene ekvivalentni tomu, kdyz tam date char *prom2 a take se to tak
implementuje. Z vyrazu &prom2 se pak stane adresa toho ukazatele (typu
char **), nikoli adresa prislusneho pole.
Prekladac by vlastne asi nemel vyraz &prom2 vubec prelozit, protoze prom2
neni l-hodnota.
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux