Что такое функция sizeof () в C?

Функция sizeof () в C — это встроенная функция, которая используется для вычисления размера (в байтах), который тип данных занимает в память компьютера.

Память компьютера представляет собой набор блоков с байтовой адресацией. Предположим, что переменная x имеет целочисленный тип и занимает четыре байта памяти компьютера, тогда sizeof (x) вернет четыре.

Эта функция является унарным оператором (т.е. принимает один аргумент). Этот аргумент может быть:

  • Тип данных: тип данных может быть примитивным (например, int , char , float ) или определяемые пользователем (например, struct ).
  • Expression

Примечание. Результат функции sizeof () зависит от машины, поскольку размеры типов данных в C варьируется от системы к системе.

Код

  1. Примитивный тип данных в качестве аргумента:
  2. ол>

 #include  int main () {int x = 20;  char y = 'а'; //Использование имен переменных в качестве входных данных printf ("Размер int равен:% d  n", sizeof (x));  printf ("Размер символа% d  n", sizeof (y)); //Использование типа данных в качестве входных данных printf ("Размер числа с плавающей запятой равен:% d  n", sizeof (float));  return 0;} 

  1. Пользователь -определенный тип данных в качестве аргумента:
 #include  struct rectangle {длина с плавающей запятой;  ширина поплавка;  }; int main () {прямоугольник структуры R;  printf ("Размер прямоугольника:% d  n", sizeof (R));} 

  1. Выражение в качестве аргумента:
 #include  int main () {double a = 2.0;  двойной b = 3. 1;  printf ("Размер a + b равен:% d  n", sizeof (a + b));  return 0;} 

Важный вариант использования

Предположим, что массиву из пяти чисел с плавающей запятой необходимо выделить память, но размер числа с плавающей запятой варьируется от машины к машине. Следующий код будет работать для всех операционных систем без изменений:

 #include  #include  int main () {float * p;  p = (float *) malloc (5 * sizeof (float));  return 0;} 

Оцените статью
nanomode.ru
Добавить комментарий