C 语言的数据类型可分为基本数据类型和导出数据类型....

C 语言的数据类型可分为基本数据类型和导出数据类型....,第1张

第一名

基本数据类型整型、浮点型、逻辑型、日期型、长整型等坦启

导出数据类型是:可以是枚举数据类型、结构类型或数亩巧组类型

这理论的东西迅信键记的已经不太清楚了,大概其吧。

#include<iostream>

using namespace std

int main()

{

cout<旅孝<sizeof(int)<<" "<<sizeof(short)<<" "<<sizeof(char)<<" "<<sizeof(long)<<" "<<sizeof(float)

<<<<sizeof(double)<<嫌好"endl

return 0

}是这个拆者稿意思吗

ANSI C/C++基本数据类型:

TypeSize数值范围

无值型void,0 byte

无值域布尔型bool,1 byte

true false有符号短整型short [int] /signed short [int],2 byte

-32768~32767无符号短整型unsigned short [int],2 byte

0~65535有符号整型int /signed [int],4 byte

-2147483648~2147483647无符号整型unsigned [int],4 byte

0~4294967295有符号长整型long [int]/signed long [int],4 byte

-2147483648~2147483647无符号长整型unsigned long [int],4 byte

0~4294967295long long,8 byte

0~18446744073709552000有符号字符型char/signed char,1 byte

-128~127无符号字符型unsigned char,1 byte

0~255宽字符型wchar_t (unsigned short.),2 byte

0~65535单精度浮点型float,4 byte

-3.4E-38~3.4E+38双精度浮点型double,8 byte

1.7E-308~1.7E+308long double,8 byte

说明:

(歼知宽1)类型修饰符signed和unsigned用于修饰字符型和整形。

(2)类型修饰符short和long用于修饰字符型和整形。

(3)当用signed和unsigned、short和long修饰int整形时,int可省略。

(4)其中bool和wchar_t是C++特有的。

(5)除上表氏亮猛裤以外,C/C++都可以自定义枚举enum、联合union和struct结构体类型。

(6)以上sizeof通过Windows XP 32位平台测试,其中某些类型数据的字节数和数值范围由 *** 作系统和编译平台决定。比如16位机上,sizeof(int) = 2,而32位机上sizeof(int) = 4;32位机上sizeof(long) = 4,而64位机上sizeof(long) = 8。除此之外,注意64位机上的pointer占8byte。

(7)void的字面意思是“无类型”,不能用来定义变量。void真正发挥的作用在于:<1>对函数返回和函数参数的限定,例如自定义既不带参数也无返回值的函数void MyFunc(void)<2>定义无类型通用指针void *,指向任何类型的数据。

(8)标准C++库及STL还提供了通用数据结构:字符串类string;向量类模板vector;双端队列类模板deque;链表类模板list;容器适配器堆栈类stack(实现先进后出的 *** 作);容器适配器队列类queue(实现先进先出的 *** 作);集合类set;多重集合类multiset;映射类map;多重映射类multimap;位集合bitset;迭代器iterator (类似指针的功能,对容器的内容进行访问)。

(9)在标准c++中,int的定义长度要依靠你的机器的字长,也就是说,如果你的机器是32位的,int的长度为32位,如果你的机器是64位的,那么int的标准长度就是64位,而vc中__int64是为在32机位机器长实现64位长度的整形数。

(10)关于32位平台下的int和long

long从字面上看,应该是64位才更合理,把long当成32位实在是一个历史的包袱。像C#那样新起炉灶的程序语言,由于没有需要支持老代码的问题,就把long当作64位来处理了。

在32位平台下,long是相对short而言,long(short)类型是long(short) int类型的简称,sizeof(long) = sizeof(int) = 4。int和long的范围虽然一样,但输入输出格式不同,printf int的格式为%d,而printf long的格式为%ld。

考虑到程序的可移植性,还是要将他们区分开来。但当要求的数值范围为4byte时,建议使用int类型,因为第一版的C语言只有一种类型,那就是int。

(11)在Win32 API及MFC中为了使类型名称在语意上更明了,对以上基本类型进行了大量的typedef。例如WINDEF.H中的BYTE,WORD,DWORD。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12569698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存