4. Mám ukazovateľ, čo s ním?
4.5 Porovnávanie ukazovateľov - relačné operátory
Ak chceme overiť, či dva ukazovatele, ktoré musia byť
samozrejme rovnakého typu, ukazujú na tú istú adresu v pamäti t.j. či
sa rovnajú, použijeme operátor == resp. !=
if (p == q) {
printf("Smerniky p a q ukazuju na tu istu premennu!");
}
else {
printf("Smerniky p a q su navzajom rozne!");
}
V prípade týchto relácií môže byť operandom samozrejme aj konštanta NULL:
if (p != NULL) {
printf("Hodnota premennej, na ktoru ukazuje p je %d", *p);
}
Výrazy typu p < q (resp. p > q, p <= q,
p >= q) majú zmysel iba vtedy, ak sú oba ukazovatele rovnakého typu
a oba ukazujú na ten istý úsek pamäte napr. jedno pole. Hodnota výrazu p < q je nenulová (true) práve vtedy, keď pointer p je menší ako q t.j. keď adresa uložená v p je menšia ako adresa v q. Inak tento výraz nadobúda hodnotu 0 (false).
|