Sarebbe lecito se il C consentisse l'overloading degli operatori come in C++: in quel caso potresti "istruire" il compilatore su come comportarsi con gli operatori relazionali con dati non numerici, ma poiché il C non lo permette non lo puoi fare, devi definire una funzione di confronto.