鱼C论坛

 找回密码
 立即注册
查看: 1367|回复: 3

[已解决]为什么要有数据类型?

[复制链接]
发表于 2019-12-27 13:28:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
学着学着突然不明白一个事情,为什么有数据类型的存在?指针为什么要有类型?

一方面:按照小甲鱼说的,数据类型就是坑的大小,那我用int的坑储存char的数据不行吗?大不了就浪费点空间,如果天下的数据类型都是同样大小的坑,就不用去定义了
另一方面:数据类型核心是为了转化ASII码吗?因为char也有对应的整型的码,所以是为了告诉计算机这个数字或者这个二进制要转化为char的码?
最佳答案
2019-12-27 13:46:27
我的妈呀,这么哲学的吗?为啥要把生物分成那么多种类呢,全部用生物去称呼不就好了。。。
后一个问题有一些意义,指针类型和数据类型一一匹配是出于内存寻址的需要。比如p为int型指针,p的值加1,其位置会在内存中越过四个字节。而如果p为char指针,值加1,只在内存中越过1个字节。这样也刚刚好指向下一个int或char。
需要真正搞明白这两个问题,需要学习微机原理,需要明白物理内存这个概念,内存是实实在在的,不是虚的,它不是想多大就多大。历史上,内存甚至非常非常小,别说将变量类型统一为double之类的,哪怕统一为char也会让厂商蛋疼。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-27 13:29:39 | 显示全部楼层
然后为什么要有指针类型?指针不就是地址信息吗?何必规定它的类型,指针地址不都是32位,储存地址就行了,为什么要指针类型?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-27 13:46:27 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
我的妈呀,这么哲学的吗?为啥要把生物分成那么多种类呢,全部用生物去称呼不就好了。。。
后一个问题有一些意义,指针类型和数据类型一一匹配是出于内存寻址的需要。比如p为int型指针,p的值加1,其位置会在内存中越过四个字节。而如果p为char指针,值加1,只在内存中越过1个字节。这样也刚刚好指向下一个int或char。
需要真正搞明白这两个问题,需要学习微机原理,需要明白物理内存这个概念,内存是实实在在的,不是虚的,它不是想多大就多大。历史上,内存甚至非常非常小,别说将变量类型统一为double之类的,哪怕统一为char也会让厂商蛋疼。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-12-27 13:54:03 | 显示全部楼层
倒戈卸甲 发表于 2019-12-27 13:46
我的妈呀,这么哲学的吗?为啥要把生物分成那么多种类呢,全部用生物去称呼不就好了。。。
后一个问题有一 ...

学着学着绕进去绕不出来了,蛋疼。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 05:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表