类型的基本归类
整型家族
char
大多数编译器char代表signed char
short
无符号unsigned short 有符号 (signed) short
int
无符号unsigned int 有符号 (signed) int
long
无符号unsigned long 有符号 (signed) long
浮点数家族
float
double
long double C99才定义的,了解即可
构造类型
指针类型
空类型
整型在内存中的存储
大小端介绍
设计一个小程序来判断当前机器的字节序
int check_sys()
{
int a = 1;
return *(char*)&a;
}
int main()
{
int ret = check_sys();
//if (1 == ret)
//{
// printf("小端");
//}
//else
//{
// printf("大端");
//}
printf("%s", (ret == 1 ? "小端":"大端"));
}
浮点型在内存中的存储
int main()
{
float n = 10.5;
//1010.1 (-1)^0 * 1.0101 * 2^3
//S = 0
//M = 1.0101
//E = 3 3+127=130
//0100 0001 0010 1000 0000 0000 0000 0000
// 4 1 2 8 0 0 0 0
printf("%f", n);
return 0;
}
int main()
{
int n = 9;
// 00000000 00000000 00000000 00001001 n的补码
float* pFloat = (float*)&n;
printf("n的值为:%d\n", n);
printf("*pFloat的值为:%f\n", *pFloat);
// 0 00000000 00000000000000000001001 无限接近于0
// S E M
*pFloat = 9.0;
//1001.0 (-1)^0*1.001*2^3
// S 0
// M 1.001
// E 3 3+127=130
// 0 10000010 00100000000000000000000
// 01000001000100000000000000000000 1091567616
printf("num的值为:%d\n", n);
printf("*pFloat的值为:%f\n", *pFloat);
return 0;
}