c语言的数据类型有哪些:分四大类划分
c语言的数据类型有哪些,按照C89与C99标准划分为基本类型、派生类型、自定义类型、空类型四大类;基本类型包含字符型、整型、浮点型,C99新增布尔类型与longlong整型;派生类型包含数组、指针、函数类型;自定义类型包含结构体、联合体、枚举;空类型void多用于无返回值函数与无参数声明,在仅支持C89的老旧编译器里无法使用bool类型,只能用int替代真假判断。
c语言的数据类型之基本类型
基本类型是编译器内置的原生类型,不需要自行定义,适合存储单个数值,也是其他所有数据类型的基础。
| 类型大类 | 细分类型 | 标准版本 | 常规占用字节 |
|---|---|---|---|
| 字符型 | char、signedchar、unsignedchar | C89 | 1字节 |
| 整型 | short、int、long、longlong | longlong为C99新增 | short占2字节,int占4字节,long占4字节,longlong占8字节 |
| 浮点型 | float、double、longdouble | C89 | float占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语言的数据类型有哪些的文章欢迎访问:百科