C++复合类型总结
数组
数组声明:
1.存储在每个元素中的值的类型;
2.数组名;
3.数组中的元素数
声明数组的通用格式如下:
typeName arrayName[arraySize];
表达式arraySize指定元素数目,他必须是整型常数(如10)或const值,也可以是常量表达式(如8*sizeof(int))
字符串
字符串是存储在内存的连续字节中的一系列字符。C++处理字符串的方式有两种。第一种来自C语言,常被称为C-风格字符串,还有一种基于string类库的方法。
字符串初始化的方式可以如下:
char bird[11]="Mr.Cheeps";
拼接字符串常量
#include <iostream>
using namespace std;
int main()
{
cout << "I'd give my right arm to be" "a great violinist." << endl;
cout << "I'd give my right arm to be a great violinist." << endl;
cout << "I'd give my right ar"
"m to be a great violinist." << endl;
return 0;
}
运行结果如下:
I'd give my right arm to bea great violinist.
I'd give my right arm to be a great violinist.
I'd give my right arm to be a great violinist.
注意,拼接时不会在被连接的字符串之间添加空格,第二个字符串的第一个字符将紧跟在第一个字符串的最后一个字符(不考虑\0)后面。第一个字符串中的\0字符将被第二个字符串的第一个字符串取代。
每次读取一行字符串输入
这里介绍另一种字符串读取方法,istream中的类(如cin)提供了一些面向行的类成员函数:getline() 和 get()
面向行的输入:getline()
getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。可以使用cin.getline()
#include <iostream>
using namespace std;
char name[20];
int main()
{
cin.getline(name,20);
cout << "name :" << name <<endl;
return 0;
}
输出结果:
daihang
name :daihang
getline的第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。如果这个参数为20,则函数最多读取19个字符,最后一个存储需要自动在结尾处添加的空字符。
面向行的输入:get()
#include <iostream>
using namespace std;
char name1[20];
char name2[20];
int main()
{
cin.get(name1,20); //输入至name1
cin.get(); //读取换行符
cin