上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1 C++对C语言数据类型的扩展
C++语言的基本数据类型与C语言一致。也就是说,C++语言中的字符类型(char、signed char、unsigned char)、整型(int、short int、signed short int、unsigned short int、signed int、unsigned int、long int、signed long int、unsigned long int)、浮点型(float、double、long double)与C语言相同,可以在C++可以直接应用它们。
但C++对C语言的结构、联合、枚举等自定义数据类型进行了扩展,程序中定义的结构名、联合名、枚举名都是类型名,可以直接用于变量的声明或定义。即在C++语言中定义变量时,不必在结构名、联合名、枚举名前加上前缀struct、union、enum。此外,在结构和联合中还可以定义函数(其意义在第3章介绍)。例如,有下述类型声明:
enum color{black,white,red,blue,yellow}; struct student{ char Name[6]; int age; int getAge(){return age;} }; union xy{ int x; char y; int f(){return x+y;} };
在C++语言程序中,可以用下面的形式定义相关类型的变量:
student s1; xy x1; color col;
但在C语言中,结构和联合中的函数是不允许的,且必须在相关变量的定义前面加上对应的关键字,形式如下:
struct student s1; union xy x1; enum color col;