【C语言进阶剖析】1、基本数据类型

1、数据类型

什么是数据类型?

在理解什么是数据类型之前,先看看汇编语言是怎么操作内存的,已知一块内存的首地址和内存大小,这块内存也就确定了,那么程序员操作内存就非常麻烦,在编写代码时发现经常需要使用 1 个字节大小,2 个字节大小,4 个字节大小的内存,可以创建几个模子,放内存中,就得到了 1 字节,2 字节,4 字节的内存空间,可以将这些模子理解为数据类型。

  • 数据类型可以理解为固定内存大小的别名
  • 数据类型是创建变量的模子
    在这里插入图片描述

如图所示,char 就是一个模子,模子大小为一个字节,将这个模子放到内存中就得到一字节的内存,这个过程就是定义变量的过程。

2、变量的本质

数据类型就是一个模子,模子放到内存中就得到了一块实际的内存,要操作这个内存,就给它起个名字,变量就诞生了。

  • 变量是一段实际连续存储空间的别名
  • 程序中通过变量来申请并命名存储空间
  • 通过变量的名字可以使用存储空间
    在这里插入图片描述

如图所示,地址 3000-3004 空间中存放的内容是 2,这段内存的别名为变量 i,变量 j、k 同理。地址3100-3104空间中存放的内容为 3004,3004 为一个地址(变量 j 的地址),所以变量 p 是一个指针,由此可见,指针没什么特殊性,就是存放的内容是一个地址罢了。

3、编程实验

实验1:类型与变量的关系

//1-1.c
#include <stdio.h>
int main() {
	char c = 0;
	short s = 0;
	int i = 0;
	printf("%ld, %ld\n", sizeof(char), sizeof(c));
	printf("%ld, %ld\n", sizeof(short), sizeof(s));
	printf("%ld, %ld\n", sizeof(int), sizeof(i));
	return 0;
}

在这里插入图片描述
可见数据类型和变量的占用的内存大小是一样的。

实验二:自定义类型与创建变量

//1-2.c
#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("%ld, %ld\n", sizeof(INT32), sizeof(i32));
	printf("%ld, %ld\n", sizeof(BYTE), sizeof(b));
	printf("%ld, %ld\n", sizeof(TS), sizeof(ts));
	return 0;
}

在这里插入图片描述

4、总结

  • 数据类型的本质就是一个模子
  • 数据类型代表需要占用的内存大小
  • 变量的本质是一段内存的别名
  • 变量隶属于某一种数据类型
  • 变量所在的内存大小取决其所属的数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值