注:博客中内容主要来自《狄泰软件学院》,博客仅当私人笔记使用。
一、数据类型
什么是数据类型?
- 数据类型可以理解为固定内存大小的别名
- 数据类型是创建变量的模子
二、数据类型的本质
1.数据类型是有固定内存大小的别名
2.用这个有固定内存大小的别名可以创建变量
三、变量的本质
1.变量是一段实际连续存储空间的别名
2.程序中通过变量来申请并命名存储空间
3.通过变量的名字可以使用存储空间
1.变量的本质是一段连续存储空间的名字。
2.通过使用变量名就可以使用内存空间,从而使用数据
类型与变量的关系
#include <stdio.h>
int main()
{
char c = 0;
short s = 0;
int i = 0;
printf("%d, %d\n", sizeof(char), sizeof(c)); //类型大小:1,1
printf("%d, %d\n", sizeof(short), sizeof(s)); //类型大小:2,2
printf("%d, %d\n", sizeof(int), sizeof(i)); //类型大小:4,4
return 0;
}
运行结果:
1,1
2,2
4,4
分析:
变量是一段连续存储空间的别名。类型有固定的存储长度。
自定义类型与创建变量
#include <stdio.h>
typedef int INT32; //重新命名int为INT32(自定义类型)
typedef unsigned char BYTE; //重新命名unsigned char为BYTE(自定义类型)
typedef struct _tag_ts //重新命名struct _tag_ts为TS(自定义类型)
{
BYTE b1; //1
BYTE b2; //1
short s; //2
INT32 i; //4
} TS;
int main()
{
INT32 i32; //存储空间:栈
BYTE b; //存储空间:栈
TS ts; //存储空间:栈
printf("%d, %d\n", sizeof(INT32), sizeof(i32)); //类型大小:4,4
printf("%d, %d\n", sizeof(BYTE), sizeof(b)); //类型大小:1,1
printf("%d, %d\n", sizeof(TS), sizeof(ts)); //类型大小:8,8
return 0;
}
编译运行结果:
4,4
1,1
8,8
注意:
重命名后的类型,也可以被sizeof(获取大小)。
小结
1.数据类型的本质是一个模子
2.数据类型代表需要占用的内存大小
3.变量的本质是一段内存的别名
4.变量隶属于某一种数据类型
5.变量所在的内存大小取决其所属的数据类型