Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C, pointer

Ano, vysledny efekt je stejny.
Ten znak * citaj ako "obsah toho kam ukazuje pointer"
takze ked definujes
int *p_i
to citas ako "obsah toho kam ukazuje pointer p_i definujem ako int", z toho vyplyva ze p_i je pointer na int, a potom v programe:
a) ked chces nastavit ten samotny pointer tak pises
p_i = &i;
b) ked chces nastavit hodnotu toho int na ktore pointer ukazuje, tak napises
*p_i = i; alebo *p_i = 3; apod

No a to na co si sa pytal je specialna situacia pri definicii pointra ked ho chces hned nastavit na nejaku adresu, tak rovno napises do definicie pointra aj tu adresu
int *p_i = &i;
to je vporiadku pri definicii. Zvycajne ludia pointre inicializuju na NULL (int *p_i = NULL;), ak nemas uz pri definicii to na co ho chces priradit, a potom sa da aj testovat pripadna chybova situacia
if(p_i == NULL)
printf("niekde mam chybu neprirdail som nic do pointra")
else
*p_i = 10;

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny