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).
|