Maison  >  Article  >  développement back-end  >  Comment utiliser sizeo en langage C

Comment utiliser sizeo en langage C

下次还敢
下次还敢original
2024-04-29 19:54:15779parcourir

L'opérateur

sizeo est utilisé pour obtenir la taille en octets d'un type de données ou d'une variable, et renvoie un entier de type size_t représentant le nombre d'octets occupés. Utilisation : Allouer de l'espace mémoire : Déterminer la taille en octets d'une variable ou d'un type de données. Passer une variable à une fonction : obtenez la taille en octets de la variable. Calculer la taille d'un tableau ou d'une structure : calculez la taille totale en octets.

Comment utiliser sizeo en langage C

Utilisation de sizeo en langage C

L'opérateur sizeo est un opérateur en langage C qui obtient la taille en octets d'un type de données ou d'une variable. Il renvoie un entier de type size_t représentant le nombre d'octets occupés par ce type ou cette variable en mémoire.

Syntaxe

<code>size_t sizeof(data_type or variable);</code>

où :

  • data_type est le type de données dont la taille en octets doit être obtenue. data_type 是要获取其字节大小的数据类型。
  • variable
  • variable est la variable dont la taille en octets doit être obtenue.

Utilisation

L'opérateur sizeo est généralement utilisé dans les scénarios suivants :
  • Allocation d'espace mémoire : Avant d'allouer de l'espace mémoire, vous devez connaître la taille en octets de la variable ou du type de données.
  • Passer des variables aux fonctions : Lorsque la fonction a besoin de connaître la taille en octets de la variable, elle peut utiliser l'opérateur sizeo pour l'obtenir.
  • Calculer la taille d'un tableau ou d'une structure : l'opérateur sizeo peut être utilisé pour calculer la taille totale en octets d'un tableau ou d'une structure.

Exemple

<code class="c">#include <stdio.h>

int main() {
  printf("int: %zu bytes\n", sizeof(int));
  printf("float: %zu bytes\n", sizeof(float));
  printf("double: %zu bytes\n", sizeof(double));

  int array[5];
  printf("array: %zu bytes\n", sizeof(array));

  struct student {
    int id;
    char name[50];
  };
  struct student s;
  printf("student: %zu bytes\n", sizeof(s));

  return 0;
}</code>
Sortie :

<code>int: 4 bytes
float: 4 bytes
double: 8 bytes
array: 20 bytes
student: 54 bytes</code>
Note
  • l'opérateur sizeo renverra uniquement la taille en octets de la variable ou du type de données en mémoire, sans compter les pointeurs ou les références. La valeur de retour de l'opérateur
  • sizeo est un entier non signé, elle ne peut donc jamais être négative. L'opérateur
  • sizeo ne peut pas être utilisé pour obtenir la taille en octets d'une fonction ou d'un bloc.
🎜

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