为什么编程语言的都要定义数据类型

栏目: 编程语言 · 发布时间: 5年前

内容简介:对于一个程序员来讲,写代码的第一件是请,恐怕就是需要定义一些数据类型。而程序本身,就是对这些数据类型进行操作,有没有人思考过,为什么每种语言编写的程序,开始都需要定义数据类型呢?以下面的C代码为例,我们来说明这个问题:这段代码非常简单,定义了四个数据,两个类型。大家看,

对于一个 程序员 来讲,写代码的第一件是请,恐怕就是需要定义一些数据类型。而程序本身,就是对这些数据类型进行操作,有没有人思考过,为什么每种语言编写的程序,开始都需要定义数据类型呢?

以下面的C代码为例,我们来说明这个问题:

#include<stdio.h>

int main()
{
    int a=100;
    int b=200;

    double a1=10.1;
    double b1=10.2;

    a=a+b;

    a1=a1+b1;

    getchar();
    return 0;
}

这段代码非常简单,定义了四个数据,两个类型。大家看, a=a+b ;和 a1=a1+b1 ;这两个语句,几乎一样,那么,我问你,这两个语句,在编译时,编译器会用同一段代码来替换这两个语句吗?

显然不可是同一段代码,因为浮点数和整数,在计算机里面,使用了不同的处理器,整数使用普通的CPU,而浮点数必须使用浮点运算器。所以,这两句话,产生的机器代码完全不同!

那么问题来了,编译器如何知道,在碰到两个数相加的时候,是使用浮点运算器的机器指令,还是使用普通CPU的机器指令?此时, 编译器就会检查进行加法操作的两个加数的数据类型,根据他们的数据类型,来确定到底使用哪一个运算器的机器代码 。此时,数据类型定义的意义就凸显出来了。

总结:

通过上述简单的描述,我们就能够清楚,任何编程语言(除了汇编,汇编只规定数据的字长),都会有自己的数据类型, 数据类型背后,隐藏的是编译器或者解释器对数据处理方式的定义 。知道了这个以后,我们在定义数据类型的时候,就应该知道,我们定义的这种数据类型,可以进行哪些操作,这些操作的规则是什么,这样我们才算真正掌握了这个数据类型。

更高级的语言,例如C++可以定义自己的数据类型和数据类型的算法,类的重载操作符就是一个例子。


以上所述就是小编给大家介绍的《为什么编程语言的都要定义数据类型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程之道

编程之道

杰弗雷﹒詹姆斯 / 清华大学出版社 / 1999-05 / 18.00元

本书出自美国一位善于进行哲学思考、有十多年工作经验的程序设计师——杰弗雷·詹姆斯之手,他以一种敏锐的眼光审视着发生在程序设计室里的各种各样的小故事,并利用古老的道家思想对其进行分析。简单的故事蕴含深奥的道理,是本书的最大特色。本书语言优美,比喻生动,可读性极强。一起来看看 《编程之道》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具