Est-il possible de surcharger les opérateurs en C?

Est-il possible de surcharger des opérateurs (tels que des opérateurs de comparaison) en C?

Si oui, comment faites-vous? J’ai fait une recherche rapide, mais tout ce que j’ai trouvé était pour C ++, et ce que je veux, c’est pour C.

Quelqu’un a des idées?

Edit1: L’idée est la suivante: j’ai une structure et je dois faire une comparaison (basée sur un membre de la structure). Et pour cela, j’aimerais associer des opérateurs à mon nouveau “type de données”.

Edit2: Je suis tout à fait conscient que je peux me passer de la surcharge de l’opérateur, mais je me demandais si vous pouviez le faire AVEC OVERLOAD.

Réponse: Le concept de surcharge est associé à la programmation orientée object. Puisque C n’est pas orienté object et ne peut donc contenir un concept de surcharge. (:

    Non ce n’est pas possible. C ne supporte pas la surcharge de l’opérateur.

    Si par surcharge, vous entendez des surcharges d’opérateurs définies par l’utilisateur, la réponse est non. Cependant, certains opérateurs prédéfinis tels que * , + etc. sont surchargés (si vous y réfléchissez) pour les types arithmétiques. Le * est spécial car il a aussi une surcharge pour le dé-référencement des pointeurs.

    C ne supporte pas la surcharge des opérateurs ou des fonctions. Il n’est pas possible de redéfinir < , <= , > , >= , == ou != Pour comparer directement les types de structure.