#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main()
{
//整型变量
int a=10;
//短整型变量
short b=20;
//长整型变量
long c=30;
//长长整型变量
long long d=40;
printf("%d ",a);
//%hd:占位符,表示输出一个短整型数据
printf("%hd ",b);
//%ld:占位符,表示输出一个长整型数据
printf("%ld ",c);
//%lld:占位符,表示输出一个长长整型数据
printf("%lld ",d);
//sizeof:不是函数,所以不需要包含任何头文件。计算数字类型在内存中占的字节(BYTE)的大小,返回值为size_t。1B=8bit
//size_t类型在32位操作系统下是unsigned int ,是一个无符号的整数
//格式:sizeof(数据类型);sizeof(变量名);sizeof 变量名
unsigned int len=sizeof (int);
printf ("%u ",len);
//将sizeof(a)的运算结果作为printf输出的一个选项
printf("整型:%d ",sizeof(a));//4=32bit
printf("短整型:%d ",sizeof(b));//2=16bit
printf("长整型:%d ",sizeof(c));//4=36bit
printf("长长整型:%d ",sizeof(d));//8=64bit
/*数据类型 占用空间
short 2字节
int 4字节
long window为4字节,linux为4字节(32位),8字节(64位)
long long 8字节
*/
/*需要注意的是,整型数据在内存中占的字节与所选择的操作系统有关
虽然C语言标准中没有明确规定整型数据的长度,但long类型整数的长度
不能短于int类型,short类型整数长度不能长于int类型(short<=int<=long<long long)
当一个小的数据类型赋值给一个大的数据类型,不会报错,因为编译器会自动转化。(eg:比如定义一个int类型,接收一个short类型数据,不会报错)
但当一个大的类型赋值给一个小的数据类型,那么就可能丢失高位
*/
return EXIT_SUCCESS;
}