![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C
c语言相关的学习总结
hc-hc
这个作者很懒,什么都没留下…
展开
-
哲学家就餐问题
问题描述:有五个哲学家绕着圆桌坐,每个哲学家面前有一盘面,两人之间有一支筷子,这样每个哲学家左右各有一支筷子。哲学家有2个状态,思考或者拿起筷子吃饭。如果哲学家拿到一只筷子,不能吃饭,直到拿到2只才能吃饭,并且一次只能拿起身边的一支筷子。一旦拿起便不会放下筷子直到把饭吃完,此时才把这双筷子放回原处。如果,很不幸地,每个哲学家拿起他或她左边的筷子,那么就没有人可以吃到饭了.分析问题:1.有五个哲学家,5个筷子.2.只有一个哲学家拿到左右两个筷子时,才可以进餐.3.那么食物就是五个哲学家的共享资源,哲原创 2020-06-05 18:56:18 · 526 阅读 · 1 评论 -
Linux c生产者消费者模型
一.生产者消费者问题生产者消费者共享缓冲区,生产者向缓冲区中放数据,消费者从缓冲取中取数据,当缓冲区中被放满时,生产者进程就必须进入挂起状态,直到消费者从缓冲中取走数据时,生产者才能继续向缓冲区中存放数据,同样当缓冲取中没有数据时,消费者进程就必须进入挂起休眠状态,直到生产者向缓冲区中放入数据时,消费者才能被唤醒继续从缓冲区中取走数据。1. 单生产者和单消费者(用条件变量来实现) 1.生产者和消费者各用一个线程 pthread_t p1; pthread_t p2; 2. 生产者生产物原创 2020-06-05 18:55:35 · 306 阅读 · 1 评论 -
my_ls总结
刚开始写my_ls很没有头绪,因为对一些函数都很陌生,看过就又忘了,所以刚开始,就是照着Linux_c文件操作后面的例子抄的,然后通过函数之间的调用,慢慢的读代码,然后最后有了思路之后,就自己重新写了一个.首先ls中主要就是应用了Linux文件操作的相关知识.获取目录信息的函数(1).opendir函数 ----------->用来打开参数name指定的目录函数所需头文件:#i...原创 2020-04-07 10:08:42 · 393 阅读 · 0 评论 -
linux-c进程控制
一.进程相关的概念:1.什么是程序?答:编译好的二进制文件2.什么是进程?答:运行着的程序, 运行一系列指令的过程, 在操作系统角度:分配系统资源的基本单位3.程序与进程的区别?答:(1) 程序占用磁盘,不占用系统资源 (2) 内存占用系统资源 (3) 一个程序对应多个进程,一个进程对应一个程序 (4) 程序没有生命周期,进程由生命周期4.单道...原创 2020-03-29 18:22:36 · 201 阅读 · 2 评论 -
小组面试题总结
内存分区先来看看程序运行时的5个大的内存分区:栈区由编译器自动分配释放,存放函数参数值,局部变量的值,类似于数据结构中的栈堆区由程序员分配释放,如果程序员不释放,程序结束时可能由操作系统回收,malloc或者new出来的在这里存放代码区顾名思义,存放程序代码的,只读区域数据区1.未初始化: BSS 段存放的是未初始化的全局变量与静态变量,并且都被赋初值为...原创 2020-02-20 13:56:59 · 322 阅读 · 0 评论 -
假期学习dfs(深搜)
深度优先搜索的关键在于当下如何做,然后采用递归的方法,进行下一步的搜索,直到到达边界或者是其他的条件限制.这里用一个简单的搜索案例引入:要求输入一个数,然后输出1~n的全排列:试想一下假如有3个数字即(n==3),首先对于第一个位置,我们可以放1或2或3。 如果为1,然后手里剩余2和3,然后继续在第二个位置。既可以放2,又可以放3,那么第二个位置,1就不可以再放了, 所以我们...原创 2020-01-22 19:48:00 · 159 阅读 · 0 评论 -
初学树相关知识点总结(真的看的头疼)
一.树 树在计算机领域的应用 1.编译:用树表示源程序的语法结构 2.数据库系统:用树组织信息 3.算法分析:用树描述执行过程(1)树的定义(递归定义):树是n个(n>=0)个结点的有限集若n = 0,称为空树若n > 0,则满足下列两个条件:1.有且只有一个特定的根(root)结点→(根节点没有前驱结点);2. 其余结点可分为m个互不相交...原创 2020-01-22 12:16:58 · 268 阅读 · 0 评论 -
循环链表实现约瑟夫环
1.循环链表对于普通的链表,我们都知道,有一个指针域与一个数据域,一直从头节点开始,往下顺延,那么循环链表其实并不难,就只是在普通的单向有头节点的基础上,让末节点的指针域指向头节点head即可。2.那我们现在来看一下约瑟夫环的问题:约瑟夫环问题,是一个经典的循环链表问题,题意是:已知 n 个人(分别用编号 1,2,3,…,n 表示)围坐在一张圆桌周围,从编号为 k 的人开始顺时针报数,数到...原创 2019-12-23 15:19:05 · 324 阅读 · 1 评论 -
memset函数的初识以及相关的运用
1.首先这个memset函数又叫初始化函数,它的作用是将某一块内存中的内容全部设置为指定的值,但一定要注意memset函数是以字节为单位进行赋值的.2.这个函数经常适用于字符数组的清空,我也是通过同学的讲解才了解并认识这个函数的,在好几次做有关字符数组的题的时候都会用到这个函数.3.既然说到函数,那必然少不了函数原型,void memset(void s, int ch, size_t n)...原创 2019-12-16 18:02:18 · 194 阅读 · 0 评论 -
const的初识
const刚开始认识它,是在一份“沉甸甸”面试题里,从开始到现在了解它,还不足一个月,下面就浅谈一下我对const的理解。 首先,const的在英文解释里就是常量,而我们又知道,内存中有一个常量区,它是只读的,不可被修改的,所以用const可以强制保护你的数据不会被修改,例如下面的这段代码:#include<stdio.h>int main(){ const char p[...原创 2019-12-01 14:58:45 · 114 阅读 · 0 评论