Здесь все станет немного техническим, но не волнуйтесь, я объясню все в меру своих возможностей.

Я представлю задачу, чтобы мы могли разобрать ее на части и реконструировать решение с нуля.

/**
*Write a C program that prints the size of various types on the computer it is compiled and run on.

*    You should produce the exact same output as in the example
 *   Warnings are allowed
  *  Your program should return 0
*/

Здесь нас просят просто напечатать размер переменных или типов данных. Сделать это очень просто. Мы будем в значительной степени полагаться на спецификаторы формата, printf и размер.

Оператор sizeof в C возвращает размер переменной или типа данных в байтах.

Вы помните «printf»? Мы будем использовать его для печати размера каждого типа в форматированной строке.

Спецификатор формата «%d» используется для форматирования целочисленного значения, возвращаемого «sizeof».

Теперь, когда мы знаем, как каждый из них будет использоваться, почему бы мне не представить код.

#include <stdio.h>

/**
 * main - Entry point
 * Return: Always 0 (Success)
 */

int main(void)
{
   int a;
   long int b;
   long long int c;
   char d;
   float f;

   printf("Size of a char: %lu byte(s)\n", (unsigned long)sizeof(d));
   printf("Size of an int: %lu byte(s)\n", (unsigned long)sizeof(a));
   printf("Size of a long int: %lu byte(s)\n", (unsigned long)sizeof(b));
   printf("Size of a long long int: %lu byte(s)\n", (unsigned long)sizeof(c));
   printf("Size of a float: %lu byte(s)\n", (unsigned long)sizeof(f));
   return (0);
}
   int a;
   long int b;
   long long int c;
   char d;
   float f;

Приведенные выше строки кода используются для объявления каждого типа переменной;