Skip to content

Latest commit

 

History

History
48 lines (31 loc) · 2.05 KB

面试的秘密.md

File metadata and controls

48 lines (31 loc) · 2.05 KB

Table of Contents generated with DocToc

怎样才能检测到链表中存在循环

首先排除一种特殊情况:3个元素的链表中第2个元素后面是第1个元素。设置两个指针p1和p2,p1指向第一个元素,p2指向第三个。看看它们是否相等。如果不等,把p1向后移1个元素,p2向后移2个元素,知道连个指针都为NULL或相等为止。

 

自增运算符

mango[i++] += y

等价于 mango[i] = mango[i] + y; i++;

而不是 mango[i++] = mango[i++] + y

 

库函数和系统调用区别

函数库调用 系统调用
所有的ANSI C编译器中,C函数库相同 相关各个操作系统
调用函数库的一个程序 调用系统内核的服务
与用户程序相关联 操作系统的一个进入点
在用户地址空间执行 在内核地址空间执行
运行时间属于“用户”时间 “系统”时间
过程调用,开销小 内核上下文切换,开销大
C函数库libc有300个程序 Unix中有90个系统调用

ANSI C中,char可以有符号,或无符号,编译器决定。

导航

目录

上一章:11. 你懂得C,所以C++不在话下

End.