Здесь все станет немного техническим, но не волнуйтесь, я объясню все в меру своих возможностей.
Я представлю задачу, чтобы мы могли разобрать ее на части и реконструировать решение с нуля.
/** *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;
Приведенные выше строки кода используются для объявления каждого типа переменной;