句子缩写与 ASCII
ASCII
'a' 到 'z' 对应的 ASCII 码值是从 97 到 122
'A' 到 'Z' 对应的 ASCII 码值是从 65 到 90
大小写字母之间的差值为32
字符可以当做数字直接比较
getchar() 以及 cin、getline 与缓冲区的机制问题
输入缓冲区
输入缓冲区:从键盘输入的所有字符(包括数字、字母、空格、换行符\n),都会先存到这个中转站里,程序的 cin/getline 等输入函数,都是从这个中转站里'拿'数据,而不是直接从键盘拿。
键盘输入=>输入缓冲区=函数>程序
- cin >> 变量:只读一句,下个空白为止,且只读取非空白字符,把空白字符留在缓冲区
- getline(cin, s):读一行,遇到换行符\n 为止,把换行符从缓冲区里删掉(读取后清空换行符)
- 空白字符(空格、换行、Tab),非空白字符(数字 / 字母)
getchar() 从标准输入缓冲区中读取并返回一个字符,从缓冲区删除之
cin>>n; getchar();//清掉输入 n 时的回车,避免下面读行时,因为残留的回车读取一个空字符串 getline(cin,s);
指针
指针是一种数据类型,是一个地址的引用,存放对应类型的地址,帮助你访问和操作存储在计算机内存中的数据,语法格式为:类型*(比如 int*、SeqList*),大小由操作系统位数决定(大小与指向的类型无关,所有指针类型大小相同32 位 = 4 字节,64 位 = 8 字节)
类型作用:
- 决定指针运算的步长(
++/--的偏移字节数); - 决定解引用时的内存解析规则(读取多少字节、如何解析)。
示例:
int* p

