这里只是列举在看书的过程中觉得比较重点的知识
1 首先需要区分字符常量和字符串常量的区别,字符常量是单引号表示比如‘s’,在存储的过程中是存储其ASCii码,但是字符串常量是存储其在内存中的地址。
并且在末尾加上‘\0’表示结束。
2 strlen 函数计算字符串中字符的个数,不包含‘\0’,sizeof计算字符串数组的字节数。
3 在键盘用cin等输入字符串时会在末尾自动加上\0,同时以空格,换行符,制表符表示结束,同时比如使用换行符,也会进行存储。
4 如果需要对整行进行获取,那么应该使用cin.getline(name,20)其中name表示字符串数组,20表示可输入19个字符,这种方式以换行符表示结束,但是并不存储换行符
另一种使用cin.get读入一行,但是将存储换行符
注意
其中利用cin.get(两个参数)将不能连续输入两个字符串,因为第二个字符串输入的时候认为看见了换行
这种情况下中间使用用cin.get()进行处理
或者写成cin.get(name,len).get()读入
P73有介绍
也可以使用cin.getline( name1,length).getline(name2,len)连续两行字符串分别读入到数组,因为cin本来就是返回一个类对象。
这里getline让程序更加简单一些,但是他不保存换行符因此不知道数组结束是因为换行符或者是数组已经存满,get函数则更加小心