-
基本数据类型
- 整型
- 长整型(long int或者long)占位符%ld
- 整型(int)占位符%d
- 短整型(short int)占位符%x
- 浮点型
- 单精度(float)占位符%f
- 双精度 (double 类似long float)占位符%lf
- 长双精度(long double)
- 字符型(char)占位符 %c
- 布尔型(bool)
- 整型
-
构造类型
-
枚举类型(enum)
//定义:枚举类型为int类型 按照顺序来 //好处:限定了值,保证取值的安全性 enum MessageType{ Text,Image,File,Video =20 }; //使用 enum MessageType message =Image;//定义 匿名 enum{ Text,Image,File,Video =20 } message; //使用 message =Image; -
数组类型
- 由类型名、标识符、维数,组成的复合型数据类型
- 一维数组
- 定义 :类型名 标识符[维数]
int a[2]; int b[]={1,2,3};- 引用数组中的元素:标识符[维数]
a[0];//数组中的第0个元素- 初始化
int b[]={1,2,3}; b[0] =1;
-
结构体类型(struct):是一种构造数据类型
- 定义
// 第一种定义 struct Users{ int age; char name[10]; } //使用1 //初始化,在构造中初始化 struct Users u ={18, "name"}; u.name; u.age; //使用2 //成员赋值,进行初始化 struct Users u; u.age =10; strcpy(u.name,"name");//第二种定义 struct Users{ int age; char name[10]; } u={18,"name"}; //直接使用 u.name; u.age;//第三种定义 struct Users{ int age; char name[10]; } u; //使用 u.name =100; strcpy(u.name,"name");//第四种定义-结构体嵌套 struct Order{ int count; } struct Users{ int age; char name[10]; Order order; } //或者 struct Users{ int age; char name[10]; struct Order{ int count; } order; } //初始化与使用 Users users ={12,"张三",{99}}; users.age; user.name; user.order.count;//第五种定义-匿名结构体:定义的同时至少有一个声明的变量,否则没有意义 //好处:可以控制结构体变量的数量(只有u这一个变量),一定程度上避免出现结构体重名现象 struct{ int age; double height; } u; //使用 u.age =100; u.height=167;//结构体与数组 struct Users{ int age; char name[10]; }u1[2],u2[2]={{10,"张三"},{20,"李四"}}; //使用 u2[0]; //赋值 u1[0].age=10; - 用途
把不同的数据类型整合起来,成为一个自定义的数据类型 - typedef 给结构体取别名
struct Users{ int age; double height; } // 取别名 typedef struct Users TypedefUsers; // 使用 TypedefUsers users; users.age =18; users.height =180; - 定义
-
共用体类型/联合体(union)
- 作用
使多个不同类型的变量共用一块内存区域。联合体变量任何时候只有一个成员变量在内存中存在。(节约内存) - 规律
联合体分配内存大小=最大成员所占的内存字节数(基本数据类型) - 定义与使用
// 定义 union Student{ int id; char name[10]; }; //初始化 union Student stu; stu.id =100; strcpy(stu.name,"张三"); //使用 stu.id; - 取别名
typedef union Users{ int age; }TypedefUsers; // 使用 TypedefUsers users; users.age =10;
- 作用
-
类类型(class)
- 字符串类string
- 定义: string 变量名; 或者 string 变量名1,变量名2;
- 赋值
或者string initStr() { //std:: 拿到string的命名空间 std::string word = "then";//string可以用字符串常量赋值 word[2] = 'a';//也可以对某个字符进行操作 return word;// 执行结果 word的执行结果为"than" }using namespace std;//定义命名空间 string initStr() { string word = "then";//string可以用字符串常量赋值 word[2] = 'a';//也可以对某个字符进行操作 return word;// 执行结果 word的执行结果为"than" } - 字符串运算
赋值(复制 =)
链接(+)void changeStr(){ string as; string word="word"; as =word; }
比较(关系运算符)using namespace std; void changeStr(){ string as; string word="word"; as =word; }
挨个比较字符,和字符串长度无关 - 字符串数组
string a[] ={"123","456"}; a[0];
- 字符串类string
-
-
引用类型
-
指针类型
-
空类型











网友评论