1. 什么是数据类型
1.1 什么是数据类型
- 数据类型可以理解为固定内存大小的别名
- 数据类型是创建变量的模子
1.2 为什么需要数据类型
在引入数据类型的概念后,方便程序员对内存的操作,就不需要程序员直接对内存进行访问
2. 什么是变量
变量的本质是什么?
- 变量是一段实际连续存储空间的别名,注意与基本数据类型的不同,基本数据类型是一段连续存储空间的别名,但是它不是任何一个实际的存储空间,它相当于一种规则。
- 程序中通过变量来申请并命名存储空间,
- 申请存储空间后,使用变量的名字可以使用该存储空间
3. 数据类型与变量的关系
上面的学习中发现,变量可以看成是数据类型的一种具体化。变量所对应的数据类型,它们两个所占用存储空间的字节数是相等的。具体看下面的例子:
#include <stdio.h>
int main()
{
char c = 0;
short s = 0;
int i = 0;
printf("%d, %d\n", sizeof(char), sizeof(c));
printf("%d, %d\n", sizeof(short), sizeof(s));
printf("%d, %d\n", sizeof(int), sizeof(i));
return 0;
}
运行结果:
4. 自定义数据类型与创建变量
我们还可以自定义数据类型,然后使用自定义的数据类型来创建变量。如下代码:
#include <stdio.h>
typedef int INT32;
typedef unsigned char BYTE;
typedef struct _tag_ts
{
BYTE b1;
BYTE b2;
short s;
INT32 i;
} TS;
int main()
{
INT32 i32;
BYTE b;
TS ts;
printf("%d, %d\n", sizeof(INT32), sizeof(i32));
printf("%d, %d\n", sizeof(BYTE), sizeof(b));
printf("%d, %d\n", sizeof(TS), sizeof(ts));
return 0;
}
运行结果:
5. 总结
- 数据类型的本质是一个模子
- 数据类型代表需要占用内存的大小
- 变量的本质是一段内存的别名
- 变量隶属于某一种数据类型
- 变量所在的内存的大小取决于其所属的数据类型的大小