#include <iostream>
#include <string>
using namespace std;
typedef unsigned long ul;
typedef long long int lli;
typedef unsigned long long int ulli;
enum Color {Red, Blue, Green};
enum High {Low = 5, Medium = 30};
struct Students
{
char* Name;
int Age;
float Ball;
};
struct Day {
int date;
float id;
};
int main() {
setlocale(LC_ALL, "Russian");
char q;
signed char w;
unsigned char e;
short int r;
unsigned int t;
int y;
long u;
unsigned long i;
long long int o;
unsigned long long int p;
float a;
double s;
long double d;
bool f;
Students g;
cout << "# 1" << "\n";
cout << "Size:" << "\n";
cout << "char:" << sizeof(char) << "\n";
cout << "signed char:" << sizeof(signed char) << "\n";
cout << "unsigned char:" << sizeof(unsigned char) << "\n";
cout << "short int:" <<sizeof(short int) << "\n";
cout << "unsigned int:" << sizeof(unsigned int) << "\n";
cout << "int:" << sizeof(int) << "\n";
cout << "long:" << sizeof(long) << "\n";
cout << "unsigned long:" << sizeof(unsigned long) << "\n";
cout << "long long int:" << sizeof(long long int) << "\n";
cout << "unsigned long long int:" << sizeof(unsigned long long int) << "\n";
cout << "float:" << sizeof(float) << "\n";
cout << "double:" << sizeof(double) << "\n";
cout << "long double:" << sizeof(long double) << "\n";
cout << "bool:" << sizeof(bool) << "\n";
cout << "struct:" << sizeof(g) << "\n";
cout << "# 2"<< "\n";
ul s1 = 100;
lli s2 = 15645646546;
ulli s3 = 12;
cout << "ul" << s1 << "\n";
cout << "lli" << s2 << "\n";
cout << "ulli" << s3 << "\n";
cout << "# 3" << "\n";
Color c1; // Переменная без инициализации
Color c2 = Green; // Переменная с инициализацией
High h = Medium;
c1 = Red;
if (c1 < c2) {
cout << "True: c1 < c2 (Red(0)<Green(2)" << "\n";
} else
cout << "False: c1 < c2 (Red(0)<Green(2)" << "\n";
int calc = Red + 5; // 0+5=5
int diff = Low - Green; //5-2=3
cout << "Red + 5 = " << calc << "\n";
cout << "Low - Green = " << diff << "\n";
cout << "sizeof(c1):" << sizeof(c1) << "\n";
cout << "enum(None):" << sizeof(Color) << "\n";
cout << "enum:" << sizeof(High) << "\n";
cout << "# 4" << "\n";
cout << "Размеры базовых типов\n";
cout << "sizeof(char*) = " << sizeof(char*) << " байт\n";
cout << "sizeof(int) = " << sizeof(int) << " байт\n";
cout << "sizeof(float) = " << sizeof(float) << " байт\n\n";
cout << "Размеры полей структуры\n";
cout << "sizeof(g.Name) = " << sizeof(g.Name) << " байт (указатель)\n";
cout << "sizeof(g.Age) = " << sizeof(g.Age) << " байт\n";
cout << "sizeof(g.Ball) = " << sizeof(g.Ball) << " байт\n\n";
size_t sum_fields = sizeof(g.Name) + sizeof(g.Age) + sizeof(g.Ball);
cout << "Сумма размеров полей = " << sum_fields << " байт\n";
cout << "sizeof(Students) = " << sizeof(Students) << " байт\n";
}