
C语言
文章平均质量分 56
浮梦六月
这个作者很懒,什么都没留下…
展开
-
基础C++知识的十一大要点
当调用函数时,编译器会优先调用类型最精确的函数,如果没有则会做一定程度的类型提升或者是标准转换,而不是全部直接报错,但具体优先级与编译器有关,因此最优选择最准确的参数即可,否则容易产生函数调用的二义性。内联函数也会被翻译成二进制指令,调用语句不会生成跳转指令,而是直接把函数的二进制指令替换调用语句,这样既没有跳转也没有返回,而是直接往下执行被调函数,这种函数称为内联函数。7、可以定义指针数组,但不能定义引用数组(可以定义数组指针,也可以定义数组引用,可以定义函数指针,也可以定义函数引用)原创 2022-09-23 20:21:12 · 464 阅读 · 1 评论 -
【C++基础知识】
3、C++的标准库头文件不带.h ,iostream 意为in & out stream,在C++中输入、输出被封装流操作,C语言中的头文件还可以继续使用,但是建议在C标准头文件名前加 c 并去掉.h ,因为这样的头文件中删除了大量不使用的宏,并重新添加到名字空间中,防止在C++中命名冲突。b、结构中的结构成员可以是成员变量还可以是成员函数,结构变量、结构指针分别使用 . 或 -> 访问成员函数,在成员函数中可以直接访问本结构的其它成员变量、成员函数,不再需要 . ->原创 2022-09-23 20:12:05 · 247 阅读 · 0 评论 -
手把手教你写生产者消费者模型
缺点:该策略实现比较麻烦,而且释放已经申请的资源可能会导致前一阶段的工作无效,反复地申请释放资源也会增加系统开销、占用CPU和寄存器、内存等资源。: 多个进程或者线程之间互相等待对方手中的资源,在得到新的资源之间不会主动释放自己手中的资源,这样如果形成了等待环路,称之为死锁现象。当一个进程或线程已经占用一个不可被剥夺的资源,并且在请求新资源无法被满足时,则释放已经占用的资源,等待一段时间后重新申请。给每个资源起编号,进程或线程按照编号顺序依次请求资源,并且只有拿到前一个资源,才能继续请求下一个资源。原创 2022-09-19 19:07:32 · 728 阅读 · 0 评论 -
C语言网络编程实战之线上五子棋游戏(三)
【代码】C语言网络编程实战之线上五子棋游戏(三)原创 2022-09-08 19:40:07 · 954 阅读 · 0 评论 -
C语言网络编程实战之线上五子棋游戏(二)
【代码】C语言网络编程实战之线上五子棋游戏(二)详细代码实习五子棋逻辑与线上客户端建立原创 2022-09-08 19:36:12 · 1146 阅读 · 0 评论 -
C语言网络编程实战之线上五子棋(一)
【代码】C语言网络编程实战之线上五子棋(一)原创 2022-09-08 19:30:28 · 938 阅读 · 0 评论 -
Linux网络编程函数详解
基本特点:socket是一种接口技术,抽象成一个文件操作,可以让同一台计算机的进程之间通信,也可以让不同计算机的进程通信(网络通信)原创 2022-09-07 18:48:36 · 269 阅读 · 0 评论 -
Linux消息队列与信号量
2、如果信号量的值等于0,说明没有资源可使用,此时进程进入休眠,直到信号量的值大于0,进程会被唤醒,执行步骤1。概念:消息队列是由内核负责维护管理的链式数据队列,不是根据先后顺序出队,而是根据消息类型进行收发数据。概念:由内核管理的一个"全局变量",用于记录共享资源的数量,限制进程对共享资源的访问使用。1、如果信号量的值大于0,说明可以使用资源,使用时需要信号量-1,然后再使用。3、当资源使用完毕,把信号量的值+1,正在休眠的进程就会被唤醒。原创 2022-09-02 09:30:11 · 309 阅读 · 0 评论 -
Linux子进程回收、管道文件、共享内存C应用详解
是指两个或多个进程之间交互数据的过程,因为进程之间是相互独立的,为了进程间协同工作就必须实现进程间交互数据。原创 2022-09-02 09:11:20 · 296 阅读 · 0 评论 -
Linux进程管理概念与C语言命令代码详解
创建的子进程一定先返回,此时子进程并没有创建成功,需要加载一个可执行文件替换当前子进程当前的所有资源,当替换完成后子进程才算创建成功,此刻父进程才返回。 孤儿进程:父进程先于子进程结束,子进程就变成了孤儿进程,孤儿进程会被孤儿院(init守护进程)领养,init就是孤儿进程的父进程。 一个进程可以被另一个进程创建,创建者叫做父进程,被创建者叫子进程,子进程被父进程创建后会在操作系统的调度下同时运行。 僵尸进程:该进程已死亡,但是它的父进程没有立即回收它的相关资源,该进程就进入僵尸态。...原创 2022-08-30 20:19:57 · 216 阅读 · 0 评论 -
Linux信号处理详细介绍
建立在早期的信号处理机制(1-31)的信号是不可靠信号,意味着它不支持排队,可能会丢失,如果同一个信号连续产生多次,进程可能只相应一次,但是多个不同的信号,会按照时间顺序从后往前相应。2、当信号处理完后可能会返回产生信号的代码继续运行,如果我们捕获并处理段错误、算术异常等信号可能会产生死循环,正确的处理段错误、算数异常信号应该是备份数据并直接结束程序。当信号产生时,内核会在其维护的信号表中为对应的进程设置与该信号对应的标记,这个过程叫做递送。功能:设置要屏蔽的信号、这些信号是存储在信号集里面。......原创 2022-08-29 19:46:46 · 577 阅读 · 0 评论 -
平衡二叉搜索树详解
待删除的节点左右子树非空,根据左右子树高度,选择高的一边,如果是左高则选择左子树中的最大值替换待删除节点的值,然后删除左子树中的最大值节点,反之则选择右子树的最小值节点进行同样操作。如果一个有序二叉树呈现接近单支状(类似链表),它的查找效率接近链表,因此只有达到平衡时它的查找效率最高。前提是有序的二叉树,它的左右子树的高度差不超过1,而且它的所有子树也满足这个条件。由于节点的值受限,因此只能通过调整达到有序,而不能进行值的修改。待删除的节点是叶子节点,直接删除。...原创 2022-08-27 15:43:56 · 443 阅读 · 0 评论 -
Linux通用链表细节
通用链表的实现原理就是在节点中加入通用指针,来达到可以存储任意类型数据。原创 2022-08-27 11:12:08 · 124 阅读 · 0 评论 -
Linux内核链表C实现细节
【代码】Linux内核链表C实现细节。原创 2022-08-27 10:27:06 · 401 阅读 · 0 评论 -
全面Linux下的文件操作命令
每个文件必须拥有唯一一个inode以及若干个block块,读写文件需要借助目录的block中记录的文件名和inode号找到该文件的inode,通过inode读取block。 硬链接文件没有自己的inode和block,只是在不同目录下复制了一份源文件的inode信息,通过inode信息访问源文件的block。 软链接会建立自己的新的inode和block,软链接的block存储的是源文件的inode信息、文件名。功能:从目录流中读取一条记录信息,该条信息记录了目录中一个文件的信息。...原创 2022-08-26 19:33:59 · 473 阅读 · 0 评论 -
C语言实战学校管理系统(2)校长功能
对之前发布项目练习的功能实现,主要实现校长功能原创 2022-08-09 12:59:10 · 345 阅读 · 0 评论 -
C语言实战之学校管理系统学生篇
C语言项目实战,在练习中磨练技术原创 2022-08-08 13:29:16 · 529 阅读 · 0 评论 -
【C语言实战练习】
综合练习C语言所学知识原创 2022-08-03 15:26:52 · 362 阅读 · 0 评论 -
简单易学的文件操作
一些简单的文件操作命令原创 2022-07-28 20:58:22 · 343 阅读 · 0 评论