- 博客(20)
- 收藏
- 关注
原创 解密进程管理:从创建到回收全解析(基于Liunx操作系统)
本文主要介绍了Linux系统中进程管理的相关概念和操作。文章首先区分了程序(静态代码)与进程(动态实例)的区别,并解释了单道程序和多道程序的特点。重点阐述了进程的三种状态(就绪、运行、等待)、进程号(PID)及其获取方法,以及进程创建函数fork()的使用和父子进程关系。文章还详细介绍了进程资源回收的wait()和waitpid()函数,并分析了三种特殊进程(僵尸进程、孤儿进程、守护进程)的特点。此外,文中还涉及了终端控制、进程组和会话的概念,以及exec函数族用于启动新进程的方法。这些内容为理解Linux
2025-09-13 21:13:45
602
原创 Shell脚本编程入门指南
本文介绍了Shell的基本概念、脚本编写与执行方法。首先说明Shell作为用户与硬件交互的桥梁作用,既是脚本语言也是解释器。文章详细讲解了Shell脚本的三种执行方式区别、变量定义与使用(包括系统变量)、条件测试语句以及控制结构(if/case/for/while/until)。特别强调了环境变量配置文件的差异(/etc/profile与~/.bashrc),并演示了函数封装方法。最后通过数值计算案例展示了不同循环结构的实现方式,为Shell脚本编程提供了基础指导。
2025-09-06 20:30:44
880
原创 C语言文件操作全解析
C语言文件操作指南摘要:本文介绍了C语言中文件操作的基本方法,包括文件打开(fopen)、关闭(fclose)函数及其模式参数(r/w/a等)。详细讲解了三种写入操作:fputc(字符写入)、fputs(字符串写入)和fprintf(格式化写入);以及三种读取操作:fgetc(字符读取)、fgets(字符串读取)和sscanf(格式化读取)。通过学生结构体(STU)的示例代码,演示了如何将结构体数据写入文件和从文件读取数据到结构体。文件操作后务必使用fclose关闭文件以释放系统资源。
2025-09-04 21:14:01
841
原创 c语言链表:从入门到精通
本文比较了数组和链表的特性,重点介绍了链表的实现方式。数组作为连续存储结构访问简单但增删困难,链表则通过非连续的节点实现灵活存储。文章详细讲解了静态单向/双向无头链表和动态单向无头链表的实现方法,包括头插法和尾插法两种插入方式。最后展示了动态双向有头链表在学生成绩管理系统中的应用,包括节点结构设计、链表初始化等关键代码实现。通过具体案例演示了如何用链表结构存储和处理学生信息。
2025-09-03 20:52:21
485
原创 C语言结构体:从入门到精通
这篇文章系统介绍了C语言中结构体的相关知识。主要内容包括:1.结构体的概念及其必要性,用于描述具有多个属性的复合数据类型;2.结构体的两种声明方式(匿名和typedef别名);3.结构体变量的三种赋值方法(整体初始化、单成员赋值和键盘输入);4.结构体指针操作及动态内存分配(成员和整体);5.结构体数组和指针数组的应用;6.结构体在栈区和堆区的内存管理。文章通过详细代码示例展示了结构体的各种操作方式,特别强调了动态内存分配与释放的顺序问题,为C语言中结构体的使用提供了全面指导。
2025-09-02 20:51:20
585
原创 指针补充,动态内存分配(malloc calloc realloc)
本文主要介绍了C语言中指针和动态内存分配的关键知识点。内容包括:1)数据存储方式(大端/小端模式)及其测试方法;2)通过字符数组和指针操作的经典笔试题分析;3)动态内存分配函数(malloc、calloc、realloc)的使用方法、特点及区别,以及对应的free函数;4)内存分区概念和不同类型变量的作用域。通过代码示例详细演示了各函数的实际应用场景,强调了对堆区内存的正确管理方式,包括内存分配、初始化和释放的注意事项。
2025-09-01 18:55:14
1929
原创 C语言数组从入门到精通
数据类型 数组名[容量] = {初始化赋值};数据类型:约束后续数组里面存储数据的数据类型数组名:数组名称,约定俗成,见名知意,动宾结构数组名是一个地址,这个地址是数组中首元素的首地址容量:约束数组中存储相同数据类型数据的个数拓展:后续对数组中元素进行访问,是通过数组名+下标的形式下标:就是数组中第几个元素,下标就为几,数组中元素从0开始,到 容量-1 结束访问: 数组名[下标]数组容量,一旦确定,无法修改数组的空间是连续性的。
2025-08-29 09:52:53
464
原创 函数封装与多文件编程实战
后续开发过程中会遇到很多重复性的工作,不同的模块需要调用相同的代码,这时可以把这些需要重复调用的代码单独封装起来,后续方便调用。main函数为例的函数模板。
2025-08-28 14:14:53
1773
原创 C 语言中重要的内存操作函数memchr, memcmp,memcpy,memmove,memset
`memchr` 可以搜索任何二进制数据,而 `strchr` 只能搜索字符串。- `c`:要查找的字符(转换为 `unsigned char`)- `memchr` 搜索指定数量的字节,不关心 `\0` 终止符。- `c`:要设置的值(转换为 `unsigned char`)- `ptr1`, `ptr2`:要比较的内存块指针。- `ptr`:指向要搜索的内存块的指针。- `ptr`:要设置的内存块指针。- `dest`:目标内存块指针。- `dest`:目标内存块指针。
2025-08-25 19:47:56
1043
原创 strcmp 和 strncmp的优缺点
如果字符不同,返回它们的 ASCII 值之差 (*str1 - *str2)比较是区分大小写的:"Apple" 和 "apple" 是不相等的。如果在比较完 n 个字符前遇到不同的字符,返回它们的差值。如果在比较完 n 个字符前遇到空字符,返回长度之差。< 0:str1 小于 str2(按字典顺序)> 0:str1 大于 str2(按字典顺序)== 0:str1 等于 str2。str1:要比较的第一个字符串。str2:要比较的第二个字符串。str1:要比较的第一个字符串。str2:要比较的第二个字符串。
2025-08-25 18:07:16
394
原创 strcat 和 strncat优缺点
strcat:目标字符数组的指针,必须包含一个有效的 C 字符串,并且必须有足够的空间容纳连接后的结果(src:要追加的源字符串。和strcpy一样,strcat最大的问题是不检查目标数组的剩余空间。如果dest的剩余空间不足以容纳整个src字符串,会发生,导致未定义行为,这是严重的安全漏洞。
2025-08-25 17:41:54
434
原创 C语言运算符全解析:从入门到精通
特别是单片机,需要对寄存器进行位操作,已达到我们对单片机的控制。表达式1:表达式2 如果条件为真,那么计算并返回表达式1的值 如果条件为假,就计算并返回表达式2的值。有符号数右移: 1100 1010 右移2位 1111 0010(最右侧10被丢弃,高位补符号位,即1)0100 1010 右移2位 0001 0010 (最右侧10被丢弃,高位补符号位,即0)例如:将0x44444444 第20位~23位变成1010(2)加上移位操作。例如:将0x44444444 第20位~23位变成1010(2)
2025-08-21 21:34:59
612
原创 轻松搭建Ubuntu虚拟机环境
摘要:本文介绍了虚拟机的安装与配置过程。首先详细说明了VmWare(17.5.0)的安装步骤,包括路径选择、版本选择等注意事项。然后指导Ubuntu系统的安装流程,从创建虚拟机到系统配置。接着讲解了Ubuntu基本环境搭建,包括VMwaretools安装、ssh服务器配置以及samba服务器设置。最后介绍了C/C++开发环境的安装方法。全文提供了完整的Linux虚拟机搭建指南,适合初学者快速上手。
2025-08-16 20:52:56
495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅