Maison > développement back-end > C++ > NULL vs 0 en C : lequel dois-je utiliser pour les pointeurs nuls ?

NULL vs 0 en C : lequel dois-je utiliser pour les pointeurs nuls ?

Patricia Arquette
Libérer: 2024-12-25 11:05:18
original
520 Les gens l'ont consulté

NULL vs. 0 in C  : Which Should I Use for Null Pointers?

Le dilemme des pointeurs nuls : NULL contre 0

Dans la tapisserie des pratiques de codage C, un débat a émergé concernant l'utilisation de NULL contre 0 (zéro) pour les pointeurs nuls. Les origines de cette discussion remontent aux débuts de C , lorsque NULL était défini comme (void*)0. Cette contrainte limitait son affectation aux pointeurs vides, la rendant quelque peu peu pratique. Par conséquent, les développeurs ont adopté la convention d'utiliser 0 comme pointeur nul.

Les préférences ont persisté malgré l'évolution du C . Certains programmeurs, comme l'auteur, privilégient 0 en raison de son utilisation intuitive comme valeur nulle et de sa compatibilité avec les tests de valeur de vérité (if (p && !q)). À l'inverse, d'autres préconisent NULL sur la base de l'esthétique.

Pour répondre à cette question récurrente, considérons le point de vue de Bjarne Stroustrup, le créateur de C . Selon la FAQ sur le style et la technique C de Stroustrup, NULL est effectivement synonyme de 0 en C , ce qui en fait une question de préférence personnelle. Il suggère d'utiliser 0 pour éviter les macros et souligne que les définitions NULL pré-standard conduisaient parfois à un comportement inattendu.

En C 11, le mot-clé nullptr a été introduit pour définir explicitement la valeur du pointeur nul. Cependant, Stroustrup recommande de se concentrer sur les fonctionnalités du code plutôt que de s'attarder sur les nuances.

En fin de compte, le choix entre NULL et 0 reste une question de préférence personnelle. Les deux approches ont leurs mérites, mais aucune n’est intrinsèquement supérieure. Il est important d'assurer la cohérence au sein d'une équipe ou d'un projet de codage, mais il n'y a aucune raison objective de préférer définitivement une option à l'autre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal