c语言的数据类型有哪些:分四大类划分

c语言的数据类型有哪些,按照C89与C99标准划分为基本类型、派生类型、自定义类型、空类型四大类;基本类型包含字符型、整型、浮点型,C99新增布尔类型与longlong整型;派生类型包含数组、指针、函数类型;自定义类型包含结构体、联合体、枚举;空类型void多用于无返回值函数与无参数声明,在仅支持C89的老旧编译器里无法使用bool类型,只能用int替代真假判断。

c语言的数据类型之基本类型

基本类型是编译器内置的原生类型,不需要自行定义,适合存储单个数值,也是其他所有数据类型的基础。

类型大类细分类型标准版本常规占用字节
字符型char、signedchar、unsignedcharC891字节
整型short、int、long、longlonglonglong为C99新增short占2字节,int占4字节,long占4字节,longlong占8字节
浮点型float、double、longdoubleC89float占4字节,double占8字节,longdouble在GCC下占16字节
布尔型_Bool(bool)C99新增1字节

你在编写嵌入式程序时,优先选用short和char来节约内存,桌面程序直接使用int与double即可,不需要刻意缩减存储空间。

c语言的数据类型之派生类型

派生类型依托基本类型生成,不能独立存在,必须绑定基础数据类型使用。

数组用来批量存储同类型数据,指针用来保存内存地址,函数类型用来描述函数返回值的数据类型,这三类都属于派生类型。

c语言的数据类型之自定义类型

自定义类型需要你手动编写声明,用来把多个零散数据打包成一个整体。

结构体struct可以把不同类型的变量组合在一起;联合体union让多个变量共用同一块内存;枚举enum可以把一组固定常量整理成类型,减少魔法数字的使用。

c语言的数据类型之空类型

void是空类型,没有对应数值。

当函数没有返回结果时,你要把返回值写成void;当函数没有传入参数时,括号内填写void;void指针可以指向任意类型的数据,使用前需要强制转换类型。

在C89标准里不存在布尔类型,这是明确的版本边界限制,老旧单片机编译器大多只兼容C89,不能直接写bool关键字,只能用0代表假、非0数值代表真。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于c语言的数据类型有哪些的文章欢迎访问:百科