1、同步IO和异步IO的区别
同步:当一个IO操作进行时,系统停下来等待这个IO操作完成后才会继续下面的操作。
异步:当一个IO操作进行时,通过多线程等方法,当CPU去处理那些不需要以来IO执行结果的计算,充分利用CPU的
运算能力。当IO操作执行完毕时,继续执行后续的操作。
一般情况下,作为单片机程序或者IO反应速度非常快等待时间非常短,使用“同步”方式对于变成的稳定性、简单性
都是很好的选择,一个操作完成后再去执行其他的操作。但如果IO的等待时间比较长,“异步”方式就会显得非常重要了。
2、A.c和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里?
static修饰的全局变量表明这个变量只能在本源文件中被访问,而不能被其他文件中的函数访问,static变量存在静态存储区。
3、一个单向链表,不知道头结点,一个指针指向其中一个结点,问如何删除这个指针指向的节点
node *p; //当前结点
node *q;
q=p->next;
p->data=q->data; //复制q结点到p
p->next=q->next; //删除q
free(q);