目录
1、函数的定义和调用
- 函数的定义不可以嵌套
- 函数的调用可以嵌套
2、循环队列
循环队列中,front为队头指针,rear为队尾指针,存储空间大小为n:
- 队列满的条件:(rear + 1)% n = front;
- 队列空的条件:rear == front;
- 队头元素出列:front = (front + 1) % n;
- 队尾元素入列:rear = (rear + 1) % n。
3、曼彻斯特编码
曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。它在以太网媒介系统中的应用属于数据通信中的两种位同步方法里的自同步法(另一种是外同步法),即接收方利用包含有同步信号的特殊编码从信号自身提取同步信号来锁定自己的时钟脉冲频率,达到同步目的。
- 曼彻斯特编码,常用于局域网传输。
- 曼彻斯特编码将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。
- 但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
4、printf输出编译顺序
int main()
{
int arr[]={1,2,3,4,5,6,7};
int *p=arr;
*(p++)+=89;
printf("%d,%d\n",*p,*(++p));
return 0;
}
以上代码的输出为 3 3,解:printf从右往左编译,从左到右输出。
5、类中初始化列表的执行顺序是变量的声明顺序!
6、MySQL索引
- BTree索引是大多数MySQL存储引擎的默认索引类型,不是B+Tree;
- 哈希索引是memory引擎表的默认索引类型,在MySQL中只有memory引擎显示支持哈希索引,memory也支持BTree;
- 哈希素银只包含哈希值和行指针,而不存储字段值,所以不能使用索引中的值来避免读取行(即不能使用哈希索引来做覆盖索引扫描);
- 空间索引可以高效使用任何数据组合查找,配合使用mercontains()函数使用;
- 索引将随机I/O变为顺序I/O。
7、Linux中可以用来查找可执行文件的命令
- find:实际搜索硬盘,查询文件名称等信息
- whereis:查看文件的位置
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis命令的使用实例:
$ whereis grep
- locate:配合数据库查看文件位置
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库.
locate命令的使用实例:
$ locate /etc/sh
搜索etc目录下所有以sh开头的文件。
$ locate ~/m
搜索用户主目录下,所有以m开头的文件。
$ locate -i ~/m
搜索用户主目录下,所有以m开头的文件,并且忽略大小写。
- which:查看可执行文件的位置
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which命令的使用实例:
$ which grep
- type:判断是内部指令(shell自带)还是外部指令
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
type命令的使用实例:
$ type cd
系统会提示,cd是shell的自带命令(build-in)。
$ type grep
系统会提示,grep是一个外部命令,并显示该命令的路径。
$ type -p grep
加上-p参数后,就相当于which命令。
参考文章:https://www.cnblogs.com/kex1n/p/5233821.html
8、时间片轮转法计算平均周转时间
需要算上进程等待的时间!