一.数组
只有在定义数组时才能使用初始化,以后就不能初始化了,也不能将一个数组复制给另一个
数组:
int hard[4];
hard[4] = {2,3,4,3}; 错误
hard = crads; 错误
定义了数组之后,数组名hard就不再是一个变量,而是一个常量,不能赋值;
二.字符串
C语言:char[8] = {'a','h','o','\0'};
C++:双引号字符串:char cat[8] = "maker" ,char自动加上结尾空字符
单引号字符常量 :char str = 'y'
字符串输入:
- cin>> 只读取一个单词,并在结尾添加空字符,因此会有一个空格,后续要用cin.get()消除;
- 读取一行单词:cin.getline(name,要读取的字符数),回车键结尾
- cin.get(name,size):和getline一样,唯一不同是把换行符留在输入队列中。因此要加个cin.get()
三.string类:储存字符串
使用时加#include <string>
- 能自动处理字符串的大小,因此定义是不需要写字符串的长度:string str1 = "dinfvnj";
- 不能将一个数组赋值给另一个数组,但能将一个string赋值给另一个string:str1 = str2
- 合并:str1 + str2
- 复制:strcpy()
- 加到末尾:strcat()
- string是一个类,因此string.size()是一种类方法;
- 输入:getline(cin,str)
四.结构
可以储存多种数据类型
1.定义声明:创建了一个name1类型的结构
struct name1
{
char name2[20];
float name3;
double name4;
}
2.初始化:
name1 guest=
{A,B,C}
3.引用:
guest.age
4.相同的结构类型可以赋值
5.结构数组:
struct inflatable
{...
...
...
}
inflatable gift[2]={A,B,C},{A,B,C}
注意:引用的时候gift[0].price。要标记清楚是数组的哪个元素
五.指针
*p :表示指针的值
p 或者 &p 表示指针的地址
1.定义一个指针:
int name1
int *p
p = &name1 (给指针一个地址)
int name1
int *p = &name1;
两种方法,但是一定要给指针一个地址