一、数据类型
1.数字 int 整型;float 浮点型;double 双浮点型 单位字节数分别为4、4、8
2.字符 char a = ‘a‘ 单引号 单位字节数为1
3.布尔型 bool x = true/false 输出1/0
4.指针 其值为所表示变量的地址 int *p = &a 单位字节数为4
二、数据结构
“所有的容器归根到底都是内存空间的排列方式和在空间上施加各种各种不同的限制所得的”
1.数组array 内存空间为连续的一段地址,无法动态改变大小
a.初始化
int a[5] = {0};
char b[3] = {‘a‘,‘b‘,‘c‘};
int a[2][3]={{1,2,3}{4,5,6}};
b.遍历
for(int i =0;i<a.size()\length();i++){ cout << a[i] << endl; }
2.string 字符串,动态长度
a.初始化
string a = "abc";
b.遍历
for(int i =0;i<a.size()\length();i++){ cout << a[i] << endl; }
c.修改
增 a.append("def");
删 a.erase(1,3); 删除索引1-3的子串
插 a.insert(2,"gg")
查 a.find(‘c‘\"bc") 返回开始位置索引
替换 a.replace(1,3,"gg") 替换索引1-3的子串为“gg”
交换 a.swap(b) 字符串a和b交换
三.常用方法
1.strlen vs sizeof
strlen的参数只能是char*,且必须是以‘\0‘结尾的。运行时才开始计算结果,反映的是字符数组当前到‘\0‘为止的动态长度
sizeof不能计算动态分配空间的大小,编译时就计算结果,反映的是该数据类型所占空间的字节数
原文:https://www.cnblogs.com/xmalll/p/11550772.html