当然,"类型"的概念本身也在不断丰富,我看这里还是以基本数据类型为准。
(暂不涉及结构、类的"高级"类型)。引发这个思考的源(很有意思的口舌之争):
http://community.csdn.net/Expert/topic/4971/4971428.xml?temp=.5247919

解决方案 »

  1.   

    上次有人说汇编没有类型,他只用01,所以汇编没有数据类型。
    废话!01不就是数据类型吗!否则你怎么知道计算机系统会把它存贮在那个寄存器中?你怎么知道CPU会用加法还是乘法或者除法来运算,怎么知道是浮点运算还是整数运算?
    ADD,SHR,不就是一种算术类型吗?算术类型也是用01表示的。当然也属于广义的数据类型
      

  2.   

    是为人而设的,char类型知道吧,如果没有数据类型,我们在内存保存个数据,就和使用单一的char一样,一个字符一个字符的存。这样能方便实用,还能高效使用内存,代价是损失了一些灵活性,但
    功能并未减弱。
      

  3.   

    我应该算搞硬件的,模电是我的强项,94年通过8088汇编入门。
    目前主要搞单片机应用,在这个领域里,没有(不用)操作系统!
    也没有(不必要)集成开发环境,开发语言用汇编,是最高效的。
    所以在有限的内存资源中规划各类变量、缓冲区是经常性工作。据此,本人说:就 CPU而言,它是一个一个字节(或字)读写的,
    根本没有什么类型可言。是什么类型都得程序员做到心中有数,
    然后设计合适的算法去访问这些单元(或者说成员)。在高级语言里,这些事都由编译系统帮我们解决了。作为一个
    既要在界面上"讨好"程序员,又要在物理上"玩转" CPU的东西,
    必须通过"温柔"的规则去规范程序言的操作,以便CPU不太为难。
    因此,包括"类型"在内的一些"规则"就诞生了。其实,高级语言里的"类型"并不能保证对数据的安全操作,C
    的指针不就是可以"越过"一切规范,通过最基本的物理的方法
    (就像我们用汇编的人一样)操作内存数据的吗?至于像 C++ 出来后的类这样高度抽象的概念,我认为更是高级
    语言为"讨好"程序员(当然也是为了软件工程的规范和效益)而
    做的认为努力,跟 CPU 没有什么关系。所以,到了面向对象时代的数据类型,和最初提出"数据类型"时
    的出发点是完全不同的。