- 博客(46)
- 收藏
- 关注
原创 【Linux lesson4】基础IO
本文介绍了Linux系统中的文件I/O机制。在Linux中,所有I/O设备都被抽象为文件,文件操作包括属性操作和内容操作。文件描述符是整数索引,默认0-2分别对应标准输入、输出和错误输出。文章解释了文件描述符分配规则,并通过关闭标准输出重定向到文件的例子演示了重定向原理。同时阐述了"一切皆文件"的设计理念,所有硬件设备都通过统一的文件接口操作。最后讨论了缓冲区的概念,包括全缓冲、行缓冲和无缓冲三种类型,指出缓冲区由C标准库实现以提升I/O效率。整个系统通过抽象文件概念简化了I/O操作和管
2025-11-12 18:00:00
696
原创 【Linux lesson3】进程控制
本文主要介绍了Linux系统中进程管理的五个关键方面:1) 虚拟地址空间机制,通过页表实现虚拟与物理地址映射;2)进程创建中的fork系统调用和写时拷贝技术;3)进程终止的退出码机制;4)进程等待方法wait/waitpid及其状态获取;5)进程程序替换的exec函数族。内容涵盖从进程创建到终止的全生命周期管理,重点解析了操作系统如何通过虚拟内存、写时拷贝等技术实现进程隔离和资源共享,并详细说明了进程间通信和控制的系统调用接口。
2025-11-11 18:00:00
662
原创 【Linux lesson3】进程概念
本文系统梳理了计算机系统的核心原理:从奠定现代计算机基础的冯·诺依曼体系结构讲起,阐释其“存储程序”思想及如何通过存储器平衡CPU与I/O设备的速度差异。接着深入剖析操作系统的角色与机制,包括其通过“先描述,再组织”的方式管理硬件,以及系统调用与库函数的关系。文章重点讲解了进程的概念,详细描述了进程的PCB、状态(如运行、睡眠、僵尸与孤儿进程)、标识符、创建机制(fork)、优先级与调度算法(O(1)算法),以及进程切换的上下文保护,最后简要介绍了命令行参数和环境变量的作用与全局特性。
2025-11-01 18:00:00
694
原创 【Linux lesson2】Linux开发工具
本文概述Linux开发工具:vim为命令行文本编辑器,支持输入、命令等模式(如dd删行、yy复制);gcc/g++编译C/C++代码(常用gcc源文件-o目标文件);makefile实现自动化编译(定义依赖关系与方法);git用于版本控制(clone、add、commit、push保存历史)。
2025-10-05 18:00:00
283
原创 【Linux lesson1】初识Linux系统
本文系统介绍了Linux操作系统的基础知识和核心概念,分为两大部分。第一部分详细讲解了Linux常用基本指令及其使用方法,包括网络配置、文件与目录操作、文件管理、文本搜索、压缩工具以及文件传输工具。每个指令都提供了语法说明和常用选项,帮助用户快速掌握日常操作。第二部分深入解析了权限管理机制,包括用户分类、权限的表示方法权限修改命令以及权限对不同文件类型的影响。特别强调了粘滞位的概念,解释了其在防止非拥有者删除文件中的重要性。整体内容结构清晰,便于初学者理解和应用Linux系统管理技能。
2025-09-29 18:00:00
1130
原创 c++|类和对象(中)
和其他函数一样,它也具有其返回类型和参数列表以及函数体。重载运算符函数的参数个数和该运算符作用的运算对象数量一样多。一元运算符有一个参数,二元运算符有两个参数,二元运算符的左侧运算对象传给第一个参数,右侧运算对象传给第二个参数。如果一个重载运算符函数是成员函数,则它的第一个运算对象默认传给隐式的this指针,因此运算符重载作为成员函数时,参数比运算对象少一个。运算符重载以后,其优先级和结合性与对应的内置类型运算符保持一致。不能通过连接语法中没有的符号来创建新的操作符:比如operator@
2024-12-18 18:00:00
1566
原创 零基础自学C语言|文件操作
我们怎么通过写代码,用C语言操作外部文件呢?文件的读写函数又有哪些?如何正确使用他们?什么是文件的缓冲区?怎么判断文件是否读取结束?
2024-03-27 18:00:00
1709
原创 零基础自学C语言|内存函数
给你两块内存,如何将一块内存复制到另一块?如果它们之间有重叠的部分又怎么办?如何比较它们的大小?我们可以通过内存函数实现。
2024-01-30 18:00:00
342
2
原创 零基础自学C语言|字符函数和字符串函数
大家好!😁😁,在编程的过程中,我们经常要处理字符和字符串,为了方便操作字符和字符串,C语言标准库中提供了一系列库函数,接下来我们就学习一下这些函数。,希望大家都能看懂,多多点赞👍👍
2023-12-18 21:46:21
1056
3
原创 零基础自学C语言|大厂指针笔试题
大家好!😁😁,今天这篇主要是对前面指针知识的巩固,同时也见识了一下大厂的指针笔试题,每题我都给出了自己的分析过程希望大家都能看懂,多多点赞👍👍
2023-12-14 19:34:10
626
1
原创 零基础自学C语言|深入理解指针 ④
大家好!😁😁今天这篇指针是最后一篇了,主要就介绍了回调函数,顺便深入理解了qsort排序,还利用冒泡排序,学会实现自己的qsort函数。内容不是很多,但是很重要,希望大家都能看懂,多多点赞👍👍
2023-12-06 14:38:39
1181
4
原创 零基础自学C语言|深入理解指针 ③
大家好!😁😁今天这篇指针有点难,你能不能看懂呢?这篇指针主要介绍了 1.数组指针变量2.函数指针变量3.函数指针数组 这三个比较复杂的概念,其中还拓展了字符指针变量、二维数组传参的本质、函数指针数组的应用等概念,希望我们一起加油,共同进步。💪💪
2023-12-04 21:14:00
1183
1
原创 零基础自学C语言|深入理解指针 2
这里我们使用&arr[0]的方式拿到了数组第一个元素的地址,但是其实数组名本来就是地址,而且是数组首元素的地址,我们来做个测试。运行结果:我们发现数组名和数组首元素的地址打印出的结果一模一样,。
2023-11-30 18:00:00
1252
2
原创 零基础自学C语言|指针(1)
我们知道计算上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,那我们买电脑的时候,电脑上内存是8GB/16GB/32GB等,那这些内存空间如何高效的管理呢?其实也是把内存划分为一个个的内存单元,每个内存单元的大小取1个字节。计算机中常见的单位(补充):一个比特位可以存储一个2进制的位1或者01byte(字节)=8bit(比特)1KB=1024byte(字节)1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB。
2023-11-28 18:00:00
1102
原创 零基础自学C语言|操作符详解
C语言已经提供了内置类型,如:char、short、int、long、float、double等,但是只有这些内置类型还是不够的,假设我想描述学生,描述一本书,这时单一的内置类型是不行的。描述一个学生需要名字、年龄、学号、身高、体重等;描述一本书需要作者、出版社、定价等。C语言为了解决这个问题,增加了结构体这种自定义的数据类型,让程序员可以自己创造适合的类型。结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量,如:标量、数组、指针,甚至是其他结构体。int x;
2023-11-23 18:00:00
148
原创 零基础自学C语言|函数的递归与迭代
递归是学习C语言函数绕不开的一个话题,那什么是递归呢?递归其实是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。上述就是一个简单的递归程序,只不过上面的递归只是为了演示递归的基本形式,不是为了解决问题,代码最终也会陷入死递归,死循环地打印hello,最终导致栈溢出(Stack overflow)。
2023-11-21 18:00:00
224
原创 零基础自学C语言|简易版扫雷
在写扫雷前,我们要写出一个菜单,方便玩家选择退出或者开始游戏:我们要在玩家输入错误的选项时让玩家重新选,同时,玩家在玩完一把游戏后可以选择再玩一把,这种效果可以用循环实现。
2023-11-15 14:48:40
93
原创 零基础自学C语言 11|函数
了解了库函数,我们的关注度应该聚焦在自定义函数上,自定义函数其实更加重要,也能给程序员写代码更多的创造性。其实自定义函数和库函数是一样的,形式如下:ret_type fun_name(形式参数)ret_type是指函数的返回类型fun_name是指函数名括号中但是形式参数{}中的是函数体我们可以把函数想象成小型的一个加工厂,工厂得输入原材料,经过工厂加工才能生产出产品,那函数也是一样的,函数一般会输入一些值(可以是0个,也可以是多个),经过函数内的计算,得出结果。
2023-11-09 18:00:00
123
1
原创 零基础自学C语言 10|数组的介绍
数组是多个相同类型元素的集合。从这个概念中,我们不难看出:·数组可以存放一个或多个数据,但不能为零·数组中存放的多个数据,但是它们的类型是相同的。数组一般被分为一维数组和多维数组,而多维数组中较多用的是二维数组。
2023-11-05 18:00:00
216
2
原创 零基础自学C语言 练习|猜数字游戏的实现
电脑会随机生成一个1~100的数字,玩家输入一个数。若玩家输入的数比随机数大,电脑会提示“太大啦”;若玩家输入的数比随机数小,则电脑会提示“太小啦”,直到玩家猜出电脑生成数视为游戏胜利。
2023-11-04 18:00:00
117
1
原创 零基础自学C语言|break、continue、goto语句和随机数的实现
在C语言中,当某些情况发生时,我们需要提前终止循环,这是C语言中经常发生的事。因此,C语言为我们提供了break和continue语句来应对这种情况。break语句:用于终止循环,break执行后,就会跳出循环,继续执行循环之后的语句。continue语句:用于跳过本次循环,continue执行后,就会跳过continue语句之后的代码,直接开始下一次循环。在for语句和while语句中稍有差异。
2023-11-03 18:00:00
199
1
原创 零基础自学C语言 07|switch语句
除了if语句,C语言还提供了switch语句来实现分支结构。switch语句是一种特殊的if...else结构,用于判断多个结果的情况,它把多重的if...else改成了更易用,可读性更好的形式。语法形式如下:上述的代码中,根据表达式(expression)返回的值,来决定走哪条case分支,如果返回的值没有对应的分支,那么就走default分支switch后的表达式必须是整型表达式case后的表达式必须是整型常量表达式。
2023-11-01 18:00:00
199
1
原创 零基础自学C语言 08|while、for、do while循环
C语言为我们提供了三种循环语句,while就是其中一种,接下来就介绍一下while语句。
2023-10-31 19:09:21
155
1
原创 零基础自学C语言 06|关系,条件,逻辑操作符的介绍
C语言中用于比较的表达式叫做“关系表达式”,里面的操作符就被称为关系运算符,关系运算符主要有下面六个:> 大于运算符< 小于运算符>= 大于等于运算符ba=ba
2023-10-31 18:00:00
248
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅