English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'opérateur sizeof() est utilisé en langage C pour déterminer la taille d'une expression ou le nombre d'unités de stockage de taille char. L'opérateur sizeof() contient un opérande, qui peut être une expression ou une conversion de type, où la conversion est entourée de parenthèses. Le type de données peut être à la fois un type de données de base (comme les types de données entiers ou les types de données flottants) et un type de données de pointeur et de type composé (comme les unions et les structures).
Le programme doit savoir la taille de stockage de la type de données originale. Bien que la taille de stockage du type de données soit constante, elle peut varier lors de l'implémentation sur différentes plates-formes. Par exemple, nous pouvons utiliser l'opérateur sizeof() pour allouer de l'espace pour un tableau dynamiquement :
int *ptr = malloc(10*sizeof(int));
Dans l'exemple ci-dessus, nous avons utilisé l'opérateur sizeof(), qui est appliqué à la conversion de type int. Nous utilisonsmalloc()La fonction alloue de la mémoire et retourne un pointeur vers cette mémoire allouée. L'espace mémoire équivaut au nombre d'octets occupés par le type de données int et est multiplié par10.
Remarque :Les sorties peuvent varier d'un ordinateur à l'autre, par exemple dans32Sur les systèmes d'exploitation bit, il affichera des sorties différentes, dans64Sur les systèmes d'exploitation bit, il affichera des sorties différentes pour le même type de données.
Le comportement de l'opérateur sizeof() dépend du type de l'opérande.
L'opérande peut être un type de données
L'opérande peut être une expression
#include <stdio.h> int main() { int x =89; //Déclaration des variables printf("La taille de la variable x est %d", sizeof(x)); //Pour afficher la taille de la variable x printf("\nLa taille des types de données entiers est %d", sizeof(int)); //Pour afficher la taille des types de données entiers. printf("\nLa taille des types de données de caractères est %d", sizeof(char)); //Pour afficher la taille des types de données de caractères printf("\nLa taille des types de données flottantes est %d", sizeof(float)); //Pour afficher la taille des types de données flottantes. return 0; }
Dans le code ci-dessus, nous avons utilisésizeof()Les opérateurs pour imprimer différents types de données (comme int, char, float )deTaille.
Résultat de la sortie
La taille de la variable x est 4 La taille des types de données entiers est 4 La taille des types de données de caractères est 1 La taille des types de données flottantes est 4
#include <stdio.h> int main() { double i =78.0; //Initialisation des variables. float j =6.78; //Initialisation des variables. printf("(i+j) La taille de l'expression est : %d", sizeof(i)+j)); //Afficher la taille de l'expression (i + j)。 return 0; }
Dans le code ci-dessus, nous avons créés deux variables de type double et float nommées 'i' et 'j', puis nous avons utilisésizeof(i + j)Affichage de l'expression par l'opérateurTaille.
Résultat de la sortie
(i+La taille de l'expression est : 8