数据类型之愚见
发表于:2024-11-23 作者:热门IT资讯网编辑
编辑最后更新 2024年11月23日,程序员的大部分时间都在忙于代码的实现,不管是c语言 还是c++ java...都涉及到了数据类型。但是什么是数据类型呢?失眠的晚上,我思考很久。让大家见笑。今天就以c语言的数据类型为例,简单聊一下数据
程序员的大部分时间都在忙于代码的实现,不管是c语言 还是c++ java...都涉及到了数据类型。
但是什么是数据类型呢?失眠的晚上,我思考很久。让大家见笑。
今天就以c语言的数据类型为例,简单聊一下数据类型这个名词吧。
聊到数据类型,就首先聊一下内存。不管写的代码是在unix linux 还是windows上运行,都需要涉及到内存的使用。但是程序中看到的这些只是内存的地址编号,我们将其称为虚拟地址。
而实际的物理内存地址,作为应用程序员是根本看不到的。 在32bit机上,cpu可以访问的虚拟地址编号可以从0~4G-1.每个地址编号可以对应一个字节物理地址空间,也可以不对应具体的物理地址空间。
int var_i=10;
char var_c='m';
每个变量和常量都有自己的地址空间。怎样才能访问这些地址空间里的内容呢?
首先根据变量或常量的名字找到对应的地址空间,然后访问空间里的内容。
这句话没有问题,那从地址空间里取一个字节呢?两个字节呢?还是n个字节呢?
根据什么决定呢? 那就是数据类型。如果是char类型的,那就取一个字节的内容。如果是int,那就取四个字节的内容,如果是short,那就取2个字节的内容。如果是float,那就取四个字节的内容。
int float都是四个字节,那又如何区分呢?
取出来数据以后,还有字节数据的组织方式,根据不同的类型来组织数据。
这就是数据类型。
总之,数据类型就是访问内存的规则而已。
想起来鲁迅先生说过的。"其实地上本没有路,走的人多了,也便成了路"
其实计算机的世界里本没有数据类型,规则使用多了,便有了数据类型。
欢迎大家交流沟通。愚见