Lors de l'examen de la sortie de l'extrait de code :
#include <stdio.h> int main(void) { printf("sizeof(char) = %zu\n", sizeof(char)); printf("sizeof('a') = %zu\n", sizeof('a')); }
on peut remarquer que la taille de la constante de caractère 'a' diffère entre C et C . Examinons le raisonnement derrière cette disparité.
En C, une constante de caractère comme « a » est stockée sous la forme d'un entier, qui a une taille de 4 octets ou une valeur spécifique à l'implémentation. Cependant, en C , le type de 'a' est explicitement char, qui n'occupe que 1 octet.
Cette distinction découle du traitement différent des constantes de caractères dans les deux langages. C traite les constantes de caractères comme des entiers (de type int), tandis que C introduit un type char distinct pour les caractères.
Par conséquent, en C, « a » est stocké sous forme d'entier, expliquant sa taille de 4 octets. En revanche, en C , « a » est un caractère (char), ce qui donne une taille de 1 octet. Cette différence met en évidence l'une des subtiles variations entre les deux langues.
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!