基数:某进制计数制允许选用的基本数字符号的个数称为基数
权:各进制中每一个固定位置对应的单值成为权,权的大小是以基数为底,数字符号所处的位置序号为指数的整数次幂
比如说,2的3次方,权为3(固定位置),2为基数(底)
进制的表示B表示二进制,O八进制,D十进制,H十六进制
其他进制转化为二进制:除基取余倒着读。(注意:如果是小数要正着读)二进制转化为其他进制,*对应的倍数
(个人总结:大的变小的,除基取余倒着读,小的变大的*对应的倍数)
二进制,八进制,十六进制相互转化,二->八(三位),二->八(四位)
在 C++ 中,auto
是一个类型推导关键字,它允许编译器自动推断变量的类型
内联函数(虽说调用了两个函数,用力inline之后,能只用一块空间反复调用,可以节约栈空间)(放在函数定义的地方):在C语言中,如果一些函数被频繁调用,不断地有函数入栈,会造成栈空间和栈内存的大量消耗,在C++中,为了解决这个问题,特别的引入了inline修饰符,表示内联函数
内联函数的定义:
inline returntype funcname(paramterType params)//与函数定义放在一起{
return [val];
}
内联函数的inline关键字,只能放在函数定义的地方,不能放在定义接口的地方,类似static
使用限制:
inline只适合函数体内代码简单的函数使用,不能包括复杂的结构控制语句例如while switch并且内联函数本身不是直接递归函数
函数重载(不仅函数可以重载,运算符也可以重载)
函数重载规则:
1.函数名称必须相同
2.参数列表必须不同(个数不同,类型不同,参数排列顺序不同等)
3.函数的返回类型可以相同也可以不同
4.仅仅返回类型的不同不足以成为函数的重载
字符串与字符数组
字符串最后又一个\n
输入输出
1.cout,cin(输入输出连续字符,遇到空格与\n都会停止)
2.gets(输入,可带空格,到最后\n位置停止,遇到空格不会停止),puts(直接输出一整个字符串)
cout 在遇到char数组时,会输出整个字符串,直到遇到NULL,所以就算普通char 单个字符地址,我们也需要(void *)(无类型指针或空指针或泛指针)来强制转化它的类型
直接加地址符,是把里面的值直接输出
这时候就应该加上强制类型转化
在访问连续内存空间的时候,无论是字符数组还是字符串数组,得遇到NULL才能停止,arr没有NULL,后续继续连续的访问,就会出现越界的问题而出现乱码,这与输出特性有关,不与数组的类型有关字符数组操作