网站站建设建技设术技术,wordpress企业官网主题下载,手机h5免费模板网站模板,互联网方案设计数据类型是指在C中用于声明不同类型变量或函数的一个系统或抽象或者是一个分类#xff0c;它决定了变量存储占用的内存空间以及解析存储的位模式。其实数据类型可以理解为固定内存大小的别名#xff0c;是创建变量的模具#xff0c;具体使用哪种模具#xff08;包括自定义中用于声明不同类型变量或函数的一个系统或抽象或者是一个分类它决定了变量存储占用的内存空间以及解析存储的位模式。其实数据类型可以理解为固定内存大小的别名是创建变量的模具具体使用哪种模具包括自定义需要根据实际问题的抽象结果来确定。一旦确定数据类型那么此数据所占用的内存模式开辟的内存大小都会被固定下来。
在前面我们已经使用了一些数据类型了比如
#include iostream
using namespace std;int radius 0; //定义了整型
int area() {int radius 30;cout Radius radius*PI endl;return 0;
}int main() {const float PI 3.14; //定义PI值 PI为单精度浮点型cout pi PI endl;radius 10;cout Radius radius endl;cout AreaPI(r*r) (PI * radius * radius) endl;area();cout Radius radius endl;cout AreaPI(r*r) (PI * radius * radius) endl;}看上面的注释radius前面的int表示的是整型PI前端的float表示的是单精度浮点型。
那么C中的数据类型都包括什么呢
1.基本数据类型
整数类型整型浮点类型小数类型浮点型字符类型字符和void无类型主要用于函数的返回。
2.派生类型和扩展类型
由基本数据类型衍生出来的类型比如函数结构体指针枚举联合体等。 咱们主要讲基本数据类型其它的类型在后面使用到的时候再讲解。
1.整数型整型
整型用于存放整整所占的内存取决于编译器32位或64位编译的目标不同所占内存大小不同int 在32位系统中为 4字节也就是32位。在一些16位系统中int 为2字节,在64位系统中int为8字节但实际上在64位系统中int类型的数值达不到8字节。
一般我们在32位机器中int的取舍范围为-2^31 ~ 2^31-1。
事实上整型还有其它的修饰符如short、 long 等
short通常占用2字节16位取值范围为-2^15 ~ 2^15-1。
int在大多数平台上占用4字节32位取值范围为-2^31 ~ 2^31-1。
long在32位系统中通常也是4字节但在64位系统中可能为8字节取值范围与long long相同即-2^63 ~ 2^63-1。
long long无论系统或编译器如何都占用8字节取值范围为-2^63 ~ 2^63-1。
此外还有无符号整型类型如unsigned short、unsigned int、unsigned long和unsigned long long它们的取值范围分别是在对应有符号类型的基础上将负数的部分替换为从0到最大值。例如unsigned int的取值范围是0到2^32-1。
需要注意的是整型数据类型的具体实现可能因编译器和操作系统的不同而有所差异。例如在某些编译器和操作系统中long可能被实现为4字节或8字节具体取决于平台。因此编程时应该考虑到这些差异以确保代码的可移植性和正确性。此外当进行数值计算时应避免整数溢出的情况以确保计算的正确性。
整数除了用十进制表示外还可以使用二进制和八进制表示
#include iostream
using namespace std;int radius 0; //定义了整型int main() {int binInt0b111100;int octInt034;const float PI 3.14; //定义PI值 PI为单精度浮点型cout pi PI endl;radius 10;cout Radius radius endl;cout AreaPI(r*r) (PI * radius * radius) endl;cout Radius radius endl;cout AreaPI(r*r) (PI * radius * radius) endl;}上面的binInt变量为二进制表示octInt变量为八进制表示。
执行结果为 可以正常输出。
浮点型表示小数的类型经常使用的为float或double关键字来定义浮点型变量。
#include iostream
using namespace std;int main() {float flot3.14;double doub3.14;cout flot: flot endl;cout sizeOf: sizeof(flot) endl;cout doub: doub endl;cout sizeOf: sizeof(doub) endl;}上面的代码定义了两个浮点类型其中float类型为单精度double为双精度他们打印出来以及所占内存大小为 字符型表示单个字符通过用char(窄字符)或wchar_t(宽字符)来表示
#include iostream
using namespace std;int main() {char ch1 B;wchar_t ch2 LB;string str ABCABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDD;cout ch1: ch1 endl;cout sizeOf: sizeof(ch1) endl;cout ch2: ch2 endl;cout sizeOf: sizeof(ch2) endl;cout str: str endl;cout sizeOf: sizeof(str) endl;}wchar_t占两个字节char只占用一个字节,string 表示的是字符串是多个字符组成的一般来说他不属于基本数据类型但是字符串是经常用到的所以在这里也算到基本数据类型中了。 布尔类型
布尔类型用于存放真/假在c中使用bool表示布尔类型一般使用1表示真0表示假虽然使用1或0没有问题但是如果定义为booltrue或false更明确。