Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Buni me jedna stvar kod pokazivača na pokazivač tipa char

[es] :: C/C++ programiranje :: Buni me jedna stvar kod pokazivača na pokazivač tipa char

[ Pregleda: 3064 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.dial.InfoSky.Net

Sajt: www.mycity.rs


+1 Profil

icon Buni me jedna stvar kod pokazivača na pokazivač tipa char09.01.2003. u 18:42 - pre 258 meseci
Nešto mi ovde nije jasno:
Code:

void fja (char **p)
{
*p=(char *)malloc(10);  // ovo je OK
strcpy (*p, "Cao!");    // takodje OK
*p[3]='s';   // ovo ne radi, zašto?
p[0][3]='s';   // ovo radi ono što je prethodna linija trebala da uradi
}

int main ()
{
char *buffer;
fja (&buffer);
}


Prvo, zašto ono *p[3] ne radi posao?
A drugo, kako to da p[0][3] ukazuje na ono na šta bi *b[3] trebalo da ukazuje?
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.informatik.uni-stuttgart.de



+27 Profil

icon Re: Buni me jedna stvar kod pokazivača na pokazivač tipa char09.01.2003. u 20:13 - pre 258 meseci
Problem je u prioritetu operatora: kompajler to tumači kao *(p[3]), a tebi treba (*p)[3].
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.201.EUnet.yu

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Buni me jedna stvar kod pokazivača na pokazivač tipa char09.01.2003. u 20:16 - pre 258 meseci
Operator [ ] ima veći prioritet od *. Treba ti: (*p)[3].

f

http://www.gsp.com/cgi-bin/man.cgi?section=7&topic=operator
 
Odgovor na temu

[es] :: C/C++ programiranje :: Buni me jedna stvar kod pokazivača na pokazivač tipa char

[ Pregleda: 3064 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.