C 语言的基本数据类型
C 语言的基本数据类型
注:本文面向 C 语言初学者,如果你是熟手,那就不用看了。
有人问我,char、short、int、long、float、double 等这些关键字到底是什么意思,如果说他们是数据类型的话,那么为啥有这么多数据类型呢?
如果写了一句:
int a;
那么执行的时候在内存中会有什么变化呢?
橡皮泥大家都玩过吧,一般你买橡皮泥的时候,店家会赠送一些模板。
上图就是我在某宝的截图,看见右下角的模具了吧,不同的模子,印出来的图案不一样,可以是城堡、金字塔、海星……
C 语言中的数据类型就和这些模子一样,不同的模子对应的内存大小不一样。
就拿 32 位系统来说, char 类型就是 1 字节;int 类型就是 4 字节; double 类型就是 8 字节。各种类型都有一个对应的字节数,具体是多少你可以用 sizeof 关键字测一下,因为不同的平台可能不一样。
有人问,啥是内存啊?
炒菜你会吗?炒菜总要有个锅吧,就是铁板烧也要有个铁板吧,如果说锅是厨师加工菜品的地方,那么内存就是 CPU 加工数据的地方。虽然 CPU 里面有寄存器,但是寄存器特别少,所以很多数据要放到内存里,用的时候再调到寄存器。
简单来说,内存就是一个临时存储器,运行程序时,各种变量都会被放在内存中,然后 CPU 来操纵它们,比如读、写、修改。
内存一般按照字节来组织,字节是最基本的存储单元。一个字节是 8 个 bit,可存储的数据范围是 0-255;
如果你在代码中写了:
int a;...char b;
假设是 32 位的平台,那么内存视图类似下图:
右边一个小格子代表一个字节,变量 a 占了 4 个字节,用绿色表示;变量 b 占用了1 个字节,用蓝色表示。左边的连续 8 个小格子代表 1 个字节可存储 8 个 bit。
对一个变量赋值,就是修改它占用的内存。
当你在程序中写 int a = 100;
在执行这句话的时候,计算机干了两件事。一是在内存的空闲区域找连续的 4 个字节,从此,这 4 个字节就和变量 a 联系起来了,可以说,a 就代表了这块内存区域;二是把这个区域的值修改为 100。
以后你对 a 的任何操作,都是对这片内存的操作。这 4 个字节就是 a 的一亩三分地。
【End】
C 语言的基本数据类型相关推荐
- python语言的数据类型有哪些_Python语言有哪些数据类型
在Python中,能够直接处理的数据类型有以下几种: 一.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-80 ...
- Go语言基础之数据类型
Go语言基础之数据类型 Go语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串外,还有数组.切片.结构体.函数.map.通道(channel)等.Go 语言的基本类型和其他语言大同小异. ...
- C 语言编程 — 高级数据类型 — void 类型
目录 文章目录 目录 前文列表 void 类型 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本数据类型> & ...
- C 语言编程 — 高级数据类型 — 字符串
目录 文章目录 目录 前文列表 字符串 字符串拷贝 字符串比较 strcmp strncmp 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> &l ...
- C 语言编程 — 高级数据类型 — 共用体
目录 文章目录 目录 前文列表 共用体 定义共用体 访问共用体成员 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本 ...
- C 语言编程 — 高级数据类型 — 结构体与位域
目录 文章目录 目录 前文列表 结构体 定义结构体 初始化结构体变量 访问结构体成员 结构体的内存分布 将结构体作为实参传入函数 指向结构体变量的指针 位域 定义位域 使用位域结构体的成员 前文列表 ...
- C 语言编程 — 高级数据类型 — 枚举
目录 文章目录 目录 前文列表 声明枚举类型 定义枚举类型的变量 枚举类型变量的枚举值 枚举在 switch 语句中的使用 将整型转换为枚举类型 前文列表 <程序编译流程与 GCC 编译器> ...
- C 语言编程 — 高级数据类型 — 数组
目录 文章目录 目录 前文列表 数组 声明数组 初始化数据 访问数组元素 二维数组 指向数组的指针 将数组指针作为实参传入函数 从函数返回一个数组指针 指针数组 数组名和取数组首地址的区别 前文列表 ...
- C 语言编程 — 高级数据类型 — 指针
目录 文章目录 目录 前文列表 指针 声明一个指针变量 使用指针 空指针 悬空指针 野指针 指针的算术运算 指向指针的指针 将指针作为实际参数传入函数 从函数返回指针 一个古老的笑话 前文列表 < ...
- C 语言编程 — 基本数据类型
目录 文章目录 目录 前文列表 数据类型 基本数据类型 整型 浮点型 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> 数据类型 数据类型,即数据对 ...
最新文章
- java ibatis 锁表_oracle查看被锁的表和解锁
- Python中变量名与变量值的关系
- apicloud开发目标
- c语言通讯录运行结果,自己改编的通讯录,运行不行啊
- MyEclipse的自动补全功能:输入@或者.没提示
- python绘制社会关系网络图_Python networkx 网络图绘制
- 是什么缩写_网友:啊啊啊啊这是什么该死的缩写...“sm居然是这个意思??”...
- 课程思政与c语言程序设计,C语言程序设计课程思政教学改革教学设计.doc
- [imblearn]-欠采样模型合集
- PHP字符串函数ucfirst( 将字符串的首字母转换为大写)
- 与老师连这得计算机如何上网,观潮的老师教案
- 论《计算机网络技术》与素质教育
- C#:什么是委托和事件及其相关(转)
- 用网站怎么赚钱?具体点!聊聊用网站赚钱的方法
- 信息无障碍相关会议网址链接
- 中文用户输入纠错 综述
- POM文件中,${xxx.version} 引用版本号爆红问题处理
- DOSBox模拟器官网简介
- IFC格式BIM文件处理方案概述
- 显示卡影片播放硬件加速,作法原理完全解说