为什么需要介绍数据类型

学习语言编程,不用急着写代码,先搞懂基本概念。有了基本概念后,然后再考虑在不同的语言中是如何表达的。不同语言无非就是表达方式不一样而已,万变不离其宗。

每一门语言开始部分中总是要介绍数据类型,很多人会问,为什么总是要介绍这些呢?

原因是与CPU的底层处理有关,了解这些细节有助于你写出正确的程序。针对每一种数据类型,在不同类型的CPU平台(8位、16位、32位、64位),在不同的语言中都有不同的表示方法。

由于C语言是跟底层打交道的语言,对于数据类型的了解尤其重要,光是为了准确的表示数据类型的关键字就有好几个,版本的更新会不断的扩充关键字,以适应越来越复杂的CPU的变化。


最初的 K&R 版 关键字:

int(整数)

long(长)

short(短)

unsigned(无符号)

char(字符)

float(浮点数)

double(一倍,双)

后来定稿C90标准后,又增加了signed (有符号)和void(空缺的)两个关键字。到了C99又增加了三个关键字_Bool(布尔),_Complex(复数),_Imaginary(虚数i)。通过关键字之间的组合可以表达各种不同的基本数据类型。

每一种数据类型,必须要了解数据宽度(位数)这个概念,说白了就是不同类型的数据在内存中运行时究竟占用多少位。

以32位的x86平台为列,CPU指令系统可以支持的只有byte(字节8位),word(字16位),Dword(double word32位),无论多复杂的数据类型,到了底层就是8、16、32这几种,因为CPU内部的寄存器就是只有这几种。

c语言中非法使用void类型_C语言中的数据类型相关推荐

  1. 中关键字 表示空类型_C语言数据类型

    程序在运行时要做的内容就是处理数据.程序要解决复杂的问题,就要处理不同的数据.不同的数据都是以自己本身的一种特定形式存在的,不同的数据类型占用不同的存储空间.C语言中有多种不同的数据类型,其中包括几个 ...

  2. VS2015+QT运行C# dll,出现“错误C2182 “t”: 非法使用“void”类型”的解决方案

    VS2015+QT运行C# dll,出现"错误C2182 "t": 非法使用"void"类型"的解决方案 问题 解决方案 参考链接 问题 项 ...

  3. 机械优化黄金分割法c语言编程,黄金分割法_机械优化设计_C语言程序.doc

    黄金分割法_机械优化设计_C语言程序黄金分割法_机械优化设计_C语言程序 黄金分割法的优化设计 实验报告 学院:机电工程 机制自动化11-03班 学号:541102010326 姓名:刘点点 1,黄金 ...

  4. c语言 万能函数指针,C/C++编程笔记:C语言精华解析之void *指针,指针中的万能指针...

    什么是万能指针? 万能指针其实就是void *类型的指针,而void *指针一般被称为通用指针或叫泛指针.它是C语言关于纯粹地址的一种约定.当某个指针是void型指针时,所指向的对象不属于任何类型. ...

  5. 如何理解 C# 中的 System.Void 类型?

    咨询区 ordag 我知道方法声明成 void 表示不返回什么东西,但我发现在 C# 中 void 不仅仅是一个关键词,而且还是一个真实的类型. void 是 System.Void 的别名,就像 i ...

  6. bool类型_C语言编程第11讲——C语言的布尔类型

    布尔类型,简单地说,就是一个表示真值或者假值的类型. 我们在很多程序中,都会用到,例如: #include #include void PrintSignalOfInt(int iValue){ if ...

  7. python语言的三种数字类型_Python语言中的类型之数字类型--Python(10)

    数据从不一样的角度能够用不一样的含义去解释它,如: 10,011,101 对上面这个数据,咱们有以下多种含义去解释它: 1)它是1个二进制数字,或者是1个十进制数字: 2)一段文本: 3)用 , 号分 ...

  8. c语言查看变量类型_c语言外部链接的静态变量的四种类型

    体系结构计划 外部链接的静态变量具有文件作用域.外部链接和静态存储期.该类别有时称为外部存储类别(external storage class),属于该类别的变量称为外部变量(external var ...

  9. c语言贪吃蛇最简单代码_C语言指针,这可能是史上最干最全的讲解啦(附代码)!!!...

    点击上方"大鱼机器人",选择"置顶/星标公众号"福利干货,第一时间送达!指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机 ...

最新文章

  1. update和saveOrUpdate详解
  2. 函数中返回char *类型
  3. 前端应该掌握的网络知识(1)
  4. mysql数据库,当数据类型是float时,查询居然查询不出数据来
  5. EL表达式中fn函数
  6. git可视化工具小乌龟安装
  7. 计算机开机界面图片怎么修改,电脑win7系统怎么修改开机画面的方法
  8. Objective C 获取当前日期时间方法
  9. 地理坐标系与经纬度转换
  10. 新倩女幽魂服务器维护,《倩女幽魂Online》更新公告(版本1.0.23)
  11. 尺缩钟慢之动钟变慢——思想实验推导狭义相对论(七)
  12. 观察者模式(行为型)
  13. 姚爱红计算机组成原理知识要点,计算机组成原理课程混合教学模式探究
  14. ElasticSearch六 ElasticSearch扩展之FileBeat、Logstash
  15. 360 mysql无法启动_mysql无法启动
  16. 计算机管理器用户怎么打开文件,电脑文件管理器怎么打开文件夹 文件管理器打开想要的文件夹方法-电脑教程...
  17. mysql server 卸载不了_Mysql卸载问题Start Server卡住报错解决方法
  18. 搜索引擎蜘蛛抓取不到网站内容页面的原因总结
  19. Debian安装谷歌浏览器(Google Chrome)
  20. 邮政社招笔试题库_中国邮政 招聘考试试题及答案--总括版

热门文章

  1. mysql 给表起别名_MySQL ------ 高级联结 (自联结,自然联结,外联结,带聚合函数的联结)(十五)...
  2. 字节跳动涉代码抄袭被诉陪22.74亿,连错误的函数都搬?
  3. 黑客使用合法工具接管 Docker 和 Kubernetes 平台
  4. 开源:推荐一个不错的离线IP地址定位库
  5. 即墨php,即墨php培训
  6. mysql简单概述_MySQL入门很简单: 1 数据库概述
  7. 【SpringCloud】Eureka-实例
  8. Leetcode84 柱状图中最大的矩形 详细的解法
  9. TypeError: __init__() got an unexpected keyword argument #34serialized_options #34
  10. 神经网络 Log-Sum-Exp