Tous les pointeurs en C ont-ils la même taille ?
La question de savoir si tous les pointeurs en C ont la même taille a été soumise à débat. Alors que certaines sources affirment que les pointeurs ont toujours la même taille, d'autres suggèrent que différents types de pointeurs peuvent avoir des tailles différentes.
Tailles garanties dans la norme C
La norme C garantit explicitement que :
Considérations pratiques sur la taille
En pratique, les pointeurs vers tous les types de classes et types de fonctions ont généralement la même taille. En effet :
Exception : les architectures segmentées
Sur les architectures segmentées, les pointeurs proches et lointains peuvent avoir des tailles différentes.
Raisons pour autoriser des tailles non uniformes ?
La norme C permet techniquement aux types de pointeurs d'avoir des tailles différentes pour les cas pathologiques. Cependant, dans les applications pratiques, de tels cas sont rares et n'apportent aucun avantage significatif.
Conclusion
Bien qu'il soit tentant de supposer que tous les pointeurs en C ont la même taille, ce n'est pas garanti par la norme. Cependant, dans la plupart des scénarios pratiques, tous les pointeurs auront la même taille, comme indiqué dans la discussion ci-dessus.
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!