Chỉ so sánh được con trỏ trỏ vào cùng một mảng. Dùng toán tử quan hệ (<, >, ==). Không thể nhân/chia con trỏ.
Ví dụ C
#include <stdio.h>
int main() {
int *p1 = (int*)200;
int *p2 = (int*)300;
if (p1 > p2) printf("p1 > p2");
else printf("p2 > p1");
return 0;
}
Kết quả: p2 > p1
Ví dụ C++
#include <iostream>
using namespace std;
int main() {
int *p1 = (int*)200;
int *p2 = (int*)300;
if (p1 > p2) cout << "p1 > p2";
else cout << "p2 > p1";
return 0;
}
Quy tắc so sánh
- Cùng trỏ một đối tượng/mảng hoặc cùng NULL:
==,<=,>=trả về true - Trỏ đối tượng khác nhau không liên quan: kết quả unspecified
- Thành viên cùng đối tượng, cùng quyền truy cập: kết quả xác định
- Thành viên khác quyền truy cập: unspecified