重拾c++第二天(4):复合类型

1、定义:种类 数组名[元素个数] = {元素1,...,元素n} ,或者直接赋值:数组名[元素位置] = 值;

2、部分初始化,其他全为0,可以就定义一个0,这样得到0数组(或者就一个{},别的啥也没有)

3、数组元素数 int num = sizeof 数组名/sizeof (数据类型);  

4、char数组,字符串以‘\0’结尾

5、 char test[]= "abcde" 这样直接定义字符串

6、 cout<<"abc""de"; 这样是合法的

7、  #include <cstring> 然后可以用   strlen()//字符串长度 ,此处不算'\0'所占长度

8、 cin>>数组名; 

9、 cin.getline(数组名,长度); 读取一行数据,无视空格

10、 cin.get()去掉换行符影响 例: (cin>>数组名).get(); 

11、 #include <string> 而后添加了一种新的数据类型——string,可以直接赋值、拼接

12、原始字符串需要 strcpy() 复制,以及 strcat() 拼接

13、string类型数据可以调用.size()方法得到字符串长度

14、结构体相关

之后定义直接 inflatable 变量名={变量1,...,变量n}; 就行(c++省略了struct),调用时 变量名.变量n 

15、结构体一般采用外部申明,放到最前面

16、结构体空的,则初始值是0

17、结构体可以赋值a=b

18、可以在14中结构花括号后直接接变量={};完成定义

19、结构数组

inflatable 变量名[2]={
    {变量1,...,变量n},
    {变量1,...,变量n} 
};

20、共用体union定义与结构体相似,但是每次只存储其中一种类型,主要是为了节省内存

21、枚举:enum 新类型名 = {值1,...,值n};

22、&取地址(指针),*取地址(指针)值

23、指针定义例:int* a,b;

24、 类型* 指针名 = new 类型 这样会分配一个合适的存放该类型数据的地址,而后*指针名 = 该类型常量

25、delete 指针名(指针要与new相关)

26、动态数组

类型* 指针名 = new 类型 [长度]  ---- delete [] 指针名

指针名[位置]直接调用,等价于数组玩法

27、指针名=指针名+1 相当于元素全体右移,此时delete会失败

28、*(指针名+i)= 指针名[ i ]

29、new结构体两种定位方式:(此处存疑)

1、cin.get(ps->name, 20)  cin>>ps->name
2、cin>>(*ps).name

猜你喜欢

转载自www.cnblogs.com/dai-yu/p/12193875.html