文档章节

数据类型

sunaction
 sunaction
发布于 2015/02/15 21:21
字数 729
阅读 14
收藏 0

在编程语言中,最基本的、不可再分的数据类型称为基本类型(Primitive Type),例如整型、浮点型;根据语法规则由基本类型组合而成的类型称为复合类型(Compound Type),例如字符串是由很多字符组成的。有些场合下要把复合类型当作一个整体来用,而另外一些场合下需要分解组成这个复合类型的各种基本类型,复合类型的这种两面性为数据抽象(Data Abstraction)奠定了基础。

引用《Linnux C编程一站式学习》

基本类型大多都是常见的简单类型。 下面的来详细划分下类别

C语言的类型分为函数类型、对象类型和不完全类型三大类。对象类型又分为标量类型和非标量类型。指针类型属于标量类型,因此也可以做逻辑与、或、非运算的操作数和if、for、while的控制表达式,NULL指针表示假,非NULL指针表示真。不完全类型是暂时没有完全定义好的类型,编译器不知道这种类型该占几个字节的存储空间

引用《Linnux C编程一站式学习》

![数据类型划分][1]

请先看下图: [1]: http://static.oschina.net/uploads/space/2015/0215/205638_VSZy_2272134.gif

从图中可以看出, 主要分为三大类:

  1. 函数类型(function types)
  2. 不完全类型(incomplete types)
  3. 对象类型(object types)

首先,

  1. 函数类型不用太纠结。 就是函数, 也是一种类型,也可以进行指针操作。 与其他语言的函数有写区别。
  2. 不完全类型, 也不复杂, 其实就是未定义大小长度的复合类型。
  3. 对象类型是C语言中最重要的类型, 属于基本类型(或有大小定义的复合类型)。

不完全类型也包括 void, incomplete array/struct/union types, 其实也就是未定义类型, 和 未确定大小的复合类型。 重点注意对象类型。 对象类型又分为标量类型( soalar types )与非标量类型( nonsoalar types )

两者不同就是非标量类型不是基本类型而是复合类型。 包括 array types, struct types, union types 由基本类型组合而来;

标量类型也就是基本类型

也是最重要的一个类型分类。

又分为 算术类型( arithmetic types ) 与 指针类型( pointer types), 指针类型可以指向一切类型。

算数类型又分为整型( integer types ) 与 浮点型 ( float types) 需要注意的是 整型里包括 char , 字符类型。 因为字符类型就是由字符常量构成的

© 著作权归作者所有

共有 人打赏支持
sunaction
粉丝 0
博文 4
码字总数 2057
作品 0
昌平
sql server 数据类型

bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off int 数据类型可以存储从- 231(-2147483648)到231 (2147483 ...

Java编程思想
2013/06/20
0
0
java,hibernate和sql server对应的数据类型

(PS:对于不同的DB可能有所差异) 在hibernate中类型的转换示例: registerHibernateType(Types.DECIMAL, Hibernate.BIGINTEGER.getName()); registerHibernateType(Types.LONGVARBINARY, Hibe......

KrisX
2014/03/01
0
0
C/OC/Swift的数据类型没那么简单

数据类型决定了值如何存储到计算机内存中。在声明变量时也可指定它的数据类型。不同数据类型来存储不同的信息,所有变量都具有数据类型,以决定能够存储哪种数据。 C语言 C语言的基本数据类型...

CoderDancer
2017/08/10
0
0
SQL Server 数据类型

1. SQL SERVER的数据类型 数据类型是数据的一种属性,表示数据信息的类型,任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称...

长平狐
2013/01/06
124
0
MSSQL数据库的字段类型总结

数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同...

五味格子
2011/05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

django rest framework 外键序列化方法与问题总结

django rest framework 外键序列化方法与问题总结 当借口中需要出现一对多关系的时候,我们可以用rest_framwork的序列化功能来处理,代码如下. # models.pyfrom django.db import modelscl...

_Change_
昨天
0
0
SingleNumber136 leetCode

Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you im......

woshixin
昨天
1
0
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
昨天
3
0
区块链100讲:UTXO 和 Account 模型对比

在当前区块链世界中,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 采用的是 UTXO 模型,Ethereum 采用的 Account 模型,同样 CITA 也采用了 ...

HiBlock
昨天
1
0
Vue中路由管理器Vue Router使用介绍(三)

一、路由定义添加动态参数定义 1.路由定义项,使用:xx 方式 定义动态参数 { path:'/user/:id/:name', name:'user', component:()=>import('./views/User.vue') ...

tianma3798
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部