目录
一.数据类型介绍
前面我们已经学习了基本的内置类型︰
- char //字符数据类型
- short //短整型
- int //整型
- long //长整型
- long long //更长的整型
- float //单精度浮点数
- double //双精度浮点数
以及他们所占存储空间的大小。类型的意义∶
- 使用这个类型开辟内存空间的大小(大小决定了使用范围)。
- 如何看待内存空间的视角。
二.类型的基本归类
整型家族
char
unsigned char
signed char
short
unsigned short[int]
signed short[int]
int
unsigned int
signed int
long
unsigned long[int]
signed long[int]
浮点数家族
float
double
构造类型
- 数组类型
- 结构体类型 struct
- 枚举类型 enum
- 联合类型 union
指针类型
int* pi;
char* pc;
float* pf;
void* pv;
空类型
void表示空类型(无类型),通常应用于函数的返回类型、函数的参数、指针类型
代码解释void表示函数的返回类型
#include<stdio.h>
void test(void)
{
printf("hehe\n");
}
int main()
{
test();
return 0;
}
这样就可以正常输出hehe,而如果main函数中的test中有变量或常量,再这样运行就会报错。
三.整型在内存中的存储
我们之前讲过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的。
那接下来我们谈谈数据在所开辟内存中到底是如何存储的?
比如:
int a=20;
int b=-10;
我们知道为a分配四个字节的空间。那如何存储?下来了解下面的概念︰
原码、反码、补码
计算机中的有符号数有三种表示方法,即原码、反码和补码。
三种表示方法均有符号位和数值位两部分,符号位都是用0表示"正”,用1表示"负”,而数值位三种表示方法各不相同。