Maison >développement back-end >C++ >La taille de l'opérateur en C est-elle évaluée au moment de la compilation ou de l'exécution ?

La taille de l'opérateur en C est-elle évaluée au moment de la compilation ou de l'exécution ?

DDD
DDDoriginal
2024-11-03 21:00:29468parcourir

Does the sizeof Operator in C   Evaluate at Compile Time or Run Time?

Le temps d'évaluation de la taille de l'opérateur en C dépend-il de la machine ?

La taille de l'opérateur en C calcule la taille d'un type de données ou variable, mais le résultat dépend-il de la machine sur laquelle le code est compilé ou sur laquelle le fichier exécutable est exécuté ?

Temps d'évaluation de sizeof

La réponse à cette question la question est non. Contrairement à certains autres opérateurs, l'évaluation de sizeof a lieu au moment de la compilation. Cela signifie que le compilateur détermine la taille du type de données ou de la variable lorsque le programme est compilé, et non lorsqu'il est exécuté.

Par exemple, considérons l'extrait de code suivant :

<code class="cpp">sizeof(short int)</code>

Le résultat de cet extrait de code sera le même quelle que soit la machine qui le compile ou exécute l'exécutable. En effet, le compilateur déterminera la taille du type de données short int lors de la compilation, qui est généralement de 2 octets. Le fichier exécutable contiendra simplement ces informations, et la taille réelle du short int sur la machine sur laquelle le programme est exécuté n'affectera pas le résultat.

Par conséquent, le temps d'évaluation de l'opérateur sizeof en C est déterminé à au moment de la compilation, pas au moment de l'exécution.

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!

Déclaration:
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