C++里有哪几种数据类型

您所在的位置:网站首页 言语沟通有哪几种类型 C++里有哪几种数据类型

C++里有哪几种数据类型

2024-05-25 01:32| 来源: 网络整理| 查看: 265

C++里有哪几种数据类型? 1.基本类型    布尔型

  布尔型,即bool,它的取值只能是true(真)或者false(假),分别代表非零与零。对布尔型的赋值可以直接用true或者false进行赋值,也可以用整型常量对其进行赋值,只不过整型常量赋值给布尔型变量会自动转换为true或者false。true就是(非零,在计算机中存储时以1存储),false就是(零,计算机内以0存储)。

   字符型

char类型     char是基本的字符类型,一个char的空间应确保可以存放(机器基本字符集中)任意字符对应的数字值。也即,一个char的大小和一个机器字节(8bit)一样。储存ASCII码 其他字符类型     作用:用于扩展字符集。     wchar_t类型:用于确保可以存放机器最大扩展字符集中的任意一个字符。用于存储其他语言中的字符。     char16_t/char32_t类型:为Unicode字符集服务。     Unicode:是用于表示所有自然语言中字符的标准。

   整形 数据类型定义标识符占字节数数值范围短整形short int2-216~~215-1整形int4-232~~231-1长整形long int4-232~~231-1超长整形long long int8-264~~263-1无符号整形unsigned20~~216-1无符号短整形unsigned short20~~216-1无符号长整形unsigned long40~~232-1无符号超长整形unsigned long long80~~264-1    浮点型

   float 数据类型被认为是单精度。double 数据类型通常是 float 的两倍大小,因此被认为是双精度。顾名思义,long double 数据类型又比 double 要大。这些数据类型的确切大小取决于当前使用的计算机。唯一可以保证的是:   double 至少与 float 一样大。   long double 至少与 double一样大。

   字符串类

  在C++标准库里,通过类string从新自定义了字符串。   头文件: #include   string直接支持字符串连接   string直接支持字符串的大小比较   string直接支持子串查找和提取   string直接支持字符串的插入和替换   string同时具备字符串数组的灵活性,可以通过[ ]重载操作符来访问每个字符。

2.构造类型   数组类型

  一个数组就像一个变量,但是它可以存储一组值,所有值均具有相同的数据类型。这些值一起存储在连续的内存位置。数组的大小声明符必须是一个常量整数表达式,其值大于零。它可以是一个常数,也可以是一个命名常量。

int SIZE=5; int array[SIZE]; float arrayf[10]//10个float值的数组 char arrayc[20]//20个char值的数组 string arrays[5]//5个string对象的数组   结构体类型

  结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型。第二,相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同。结构体可以描述数组不能够清晰描述的结构,这是数组所不具备的。   定义结构体使用struct修饰符

  共用体类型

  共用体类型也是用来描述类型不相同的数据,但与结构体类型不同,共用体数据成员存储时采用覆盖技术,共享(部分)存储空间。在结构体中增加共用体类型成员,可使结构体中产生动态成员,相当于PASCAl,语言的变体记录。   共用体类型定义用关键字union标识

  类类型

  类代表了某一批对象的共性和特征。类是对象的抽象,对象是类的具体实例。和结构体类型和结构体变量一样,c++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。 如

class Student //声明了一个名为student的类类型 { private: int num; public: void display(); }; Student stud1,stud2; //定义了两个Student类的对象

  事实上,类也是一种数据类型,它是一种广义的数据类型,过去接触的都是狭义的数据类型,如结构体类型的成员都是数据,而类这种数据类型的数据既包含数据也包含操作数据的函数。

  枚举类型

  如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。   声明枚举类型用enum开头。   l例如

enum weekday{sun,mon,tue,wed,thu,fri,sat};

  上面声明了一个枚举类型weekday,花括号中sun,mon,…,sat等称为枚举元素或枚举常量。 表示这个类型的变量的值只能是以上7个值之一。它们是用户自己定义的标识符。

3.指针类型

  指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。

4.引用类型

  “引用”是c++的一种新的变量类型,是对C的一个重要补充。它的作用是为变量起一个别名。假如有一个变量a,想给它起一个别名。

int a;int &b=a;

  这就表明了b是a的“引用”,即a的别名。经过这样的声明,使用a或b的作用相同,都代表同一变量。在上述引用中,&是“引用声明符”,并不代表地址。不要理解为“把a的值赋给b的地址”。引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。声明引用并不开辟内存单元,b和a都代表同一变量单元。 注意:在声明引用变量类型时,必须同时使之初始化,即声明它代表哪一变量。在声明一个变量的引用之后,在本函数执行期间,该引用一直与其代表的变量相联系   引用的规则   (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。   (2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。   (3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。   引用的主要功能:   传递函数的参数和返回值。     C++语言中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递。

5.空类型

  对于空类,编译器不会生成任何的成员函数,只会生成1个字节的占位符。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3