L'opérateur Sizeof est l'un des opérateurs les plus couramment utilisés en langage C et est utilisé pour calculer la taille de toute structure de données ou type de données que nous transmettons. L'opérateur sizeof renvoie un type entier non signé et peut être appliqué aux types de données primitifs et composites. Nous pouvons utiliser directement l'opérateur sizeof sur un type de données et connaître la mémoire occupée par celui-ci -
#include <bits/stdc++.h> using namespace std; int main() { cout << sizeof(int) << "\n"; cout << sizeof(char) << "\n"; cout << sizeof(float) << "\n"; cout << sizeof(long) << "\n"; return 0; }
4 1 4 8 8
En utilisant cette fonction, nous pouvons connaître l'espace occupé par n'importe quelle variable de ce type de données. La sortie dépend également du compilateur, car un compilateur 16 bits donnera une valeur différente pour int qu'un compilateur 32 bits.
Nous pouvons également appliquer cette opération à une expression -
#include <bits/stdc++.h> using namespace std; int main() { cout << sizeof(int) << "\n"; cout << sizeof(char) << "\n"; cout << sizeof(float) << "\n"; cout << sizeof(double) << "\n"; cout << sizeof(long) << "\n"; return 0; }
4 4
Comme vous pouvez le voir, la valeur précédente de x était 4, qui reste la même même après l'opération de préfixe. Tout cela est dû à l'opérateur sizeof, car cet opérateur est utilisé au moment de la compilation, il ne change pas la valeur de l'expression que nous appliquons.
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {1, 2, 3, 4, 5}; // the given array int size = sizeof(arr) / sizeof(int); // calculating the size of array cout << size << "\n"; // outputting the size of given array }
5
Ici, nous calculons d'abord la taille de l'ensemble du tableau ou calculons la mémoire occupée par celui-ci. Nous divisons ensuite ce nombre par la taille du type de données ; dans ce programme, c'est un entier.
Le deuxième cas d'utilisation le plus important de cet opérateur est l'allocation de mémoire dynamique, nous utilisons donc l'opérateur sizeof lors de l'allocation d'espace.
#include <bits/stdc++.h> using namespace std; int main() { int* ptr = (int*)malloc(10 * sizeof(int)); // here we allot a memory of 40 bytes // the sizeof(int) is 4 and we are allocating 10 blocks // i.e. 40 bytes }
Dans cet article, nous discuterons de l'utilisation de l'opérateur sizeof et de son fonctionnement. Nous avons également écrit différents types de cas d'utilisation pour voir le résultat et en discuter. Nous avons implémenté un cas d'utilisation pour cet opérateur en C++. Nous pouvons écrire le même programme dans d'autres langages comme C, Java, Python etc. Nous espérons que cet article vous a été utile.
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!