ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

初学者C语言:数据类型

初学者C语言:数据类型 这是我整理的有关数据结构的知识有不足或者是写的不对的地方请大家指出来我也会加以订正前言C语言要求在定义所有变量时都要指定变量类型。常量也要区分类型的。一、类型是什么所谓类型就是对数据分配存储单元的安排包括存储单元的长度占多数字节以及数据的存储形式。二、数据类型的分类数据类型 { 基本类型 { 整型类型 { 基本整型(int) 短整型(short int) 长整型(long int) *双长整型(long long int) 字符型(char) *布尔型(bool) } 浮点类型 { 单精度浮点型(float) 双精度浮点型(double) 复数浮点型(float_complex,double_complex,long long_complex) } } 枚举类型(enum) 空类型(void) 派生类型 { 指针类型(*) 数组类型([]) 结构体类型(struct) 共用体类型(union) 函数类型 } }2.1 数据类型的修饰shortlongshort和long是对内存长度有关的两个类型修饰符。是用来修饰整型类型的。常规的整型类型是int长度是4个字节short int类型的长度是2个字节。C语言标准规定long int的长度大于等于int的长度。*想知道每一个数据类型长度可以用sizeof来计算sizeof是C语言的一个操作符sizeof可以算出一个数据类型的长度单位为字节。在打印的时候使用占位符“%zu”。signedunsignedsigned和unsigned是和符号有关的两个类型修饰符专门修饰字符型和整型类型的。signed关键字表示一个类型带有正负号可以表示正整数负整数和0。unsigned关键字表示该类型不带正负号只能表示0和正整数。在C语言中int类型默认是带正号的也就是说int等同于signed int。而char有可能是unsigned char也有可能是signed char具体等价于哪一个是编译器的具体实现定义的。2.2 取值范围类型大小 (字节)取值范围有符号取值范围 (无符号 unsigned)char1-128 到 1270 到 255short2-32,768 到 32,7670 到 65,535int432/64 位系统-2,147,483,648 到 2,147,483,6470 到 4,294,967,295long4 或 8-2,147,483,648 到 2,147,483,647 (32 位)-9.22e18 到 9.22e18 (64 位实测)0 到 4,294,967,295 (32 位)0 到 1.84e19 (64 位实测)long long8-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070 到 18,446,744,073,709,551,615float4±1.2E‑38 到 ±3.4E38约 6‑7 位有效数字/double8±2.3E‑308 到 ±1.7E308约 15‑16 位有效数字/long double8 或 16在 x86 架构下通常是 80 位10 字节取值范围比 double 更大/整型家族的取值范围可以在limits.h这个头文件查看浮点型家族的取值范围可以在float.h这个头文件查看2.3 转义字符表转义字符字符值输出结果\一个单撇号 ()输出单撇号字符\一个双撇号 ()输出双撇号字符\?一个问号 (?)输出问号字符?\\一个反斜线 (\)输出反斜线字符\\a警告 (alert)产生声音或视觉信号\b退格 (backspace)将光标当前位置后退一个字符\f换页 (form feed)将光标当前位置移到下一页的开头\n换行将光标当前位置移到下一行的开头\r回车 (carriage return)将光标当前位置移到本行的开头\t水平制表符将光标当前位置移到下一个 Tab 位置\v垂直制表符将光标当前位置移到下一个垂直制表对齐点\o、\oo或\ooo其中 o 代表一个八进制数字与该八进制码对应的 ASCII 字符与该八进制码对应的字符\xh[h…]其中 h 代表一个十六进制数字与该十六进制码对应的 ASCII 字符与该十六进制码对应的字符
返回列表