- 博客(21)
- 收藏
- 关注
原创 初步认识进程
本文介绍了进程的基本概念和相关知识。进程是程序运行的基本单元,具有独立性、动态性、并发性和异步性等特点。文章详细说明了进程的状态(如运行、睡眠、僵尸等)、特殊进程类型(如父进程、子进程、孤儿进程等)以及进程号的管理方式。重点讲解了Linux系统中常用的进程操作函数,包括创建进程的fork/vfork、获取进程ID的getpid/getppid、进程等待的wait/waitpid、执行新程序的execl/execlp,以及终止进程的exit/_exit等函数。这些函数为进程管理提供了基础操作接口,是系统编程的
2025-11-27 19:55:30
360
原创 文件属性与目录操作
本文介绍了Linux系统编程中目录操作和文件属性的相关函数。主要内容包括:1)目录操作函数如getcwd获取当前路径、chdir切换路径、mkdir创建目录、opendir/readdir/closedir操作目录;2)文件属性获取函数stat/lstat/fstat及其返回的stat结构体;3)文件类型判断的两种方法:使用宏定义或类型掩码;4)文件权限获取的实现;5)结合目录操作和文件属性实现类似"ls -l"功能的完整代码示例。这些函数可用于开发需要处理文件和目录的系统程序。
2025-11-26 19:51:48
894
原创 文件操作和时间编程
本文介绍了文件操作和时间编程的相关知识。文件操作部分包含基于缓冲区的操作(fopen/fwrite/fread等)和非缓冲区的系统调用(open/write/read等),详细说明了open函数的参数配置和使用方法。时间编程部分介绍了获取时间的系统指令(date/cal/time)和C语言时间函数,包括time()获取时间戳、localtime()转换本地时间、strftime()格式化输出等。最后通过一个操作日志的实例,展示了如何结合文件操作和时间函数实现日志记录功能,包含初始化日志文件和写入日志条目的具
2025-11-25 20:19:30
763
原创 Linux常用工具
本文摘要: 本文系统介绍了Linux环境下的开发工具链,包括vim编辑器(安装配置与四种模式操作)、gcc编译器(预处理/汇编/编译/链接流程)、库文件封装(静态库.a与动态库.so的区别)、gdb调试工具(断点设置与变量查看)以及makefile项目管理(变量使用与函数调用)。重点讲解了makefile的多级编写方法,从简单编译到项目级管理,详细说明了$(wildcard)、$(notdir)、$(patsubst)等关键函数的使用场景。文章还对比了静态库和动态库在存储空间与查找效率上的差异,并提供了vi
2025-11-24 20:11:45
718
原创 C语言进阶之队和栈
本文介绍了栈和队列两种数据结构的基本概念及实现方式。栈具有先进后出(FILO)特性,可通过数组(线性存储)或链表(链式存储)实现,数组实现需维护栈顶指针,链表实现则采用头插法。队列具有先进先出(FIFO)特性,数组实现需要入队和出队指针配合计数器,链表实现采用尾插法。文章提供了C语言实现示例代码,包括栈的数组实现(含入栈/出栈操作)和队列的数组实现(含入队/出队操作),并简要提及了链表实现的思路。
2025-11-18 16:54:00
374
原创 C语言进阶之文件
本文介绍了C语言文件操作的基础知识,主要包括:1. 文件操作的两种方式(基于缓冲区/非缓冲区)及特点;2. 文件操作的三个基本步骤(打开、读写、关闭);3. 常用的14个文件操作函数及其用法,如fopen/fclose(打开/关闭)、fwrite/fread(块读写)、fprintf/fscanf(格式化读写)等;4. 文件指针位置控制的rewind、fseek、ftell函数;5. 提供了多个代码示例展示结构化数据的文件读写操作。这些内容全面涵盖了C语言文件I/O编程的核心知识点。
2025-11-17 17:48:53
571
原创 C语言进阶之链表
本文介绍了链表的基础知识和常用操作。链表采用链式存储结构,由节点组成,每个节点包含数据域和指针域。文章详细讲解了4个关键内存操作函数(malloc、memset、bzero、free)的使用方法,并提供了创建节点、增删改查等基本操作的代码实现。此外还介绍了头插法、节点排序、循环链表和双向链表等进阶内容。全文通过具体代码示例,系统阐述了链表的实现原理和操作方法。
2025-11-14 16:05:34
634
原创 C语言基础之结构体
本文主要介绍了C语言中结构体、共用体和枚举这三种自定义数据类型的基本概念和应用。首先详细讲解了结构体的声明方式、空间大小计算方法(涉及内存对齐原则)及其变量定义与初始化方法。其次阐述了共用体的特点(成员共享内存空间)及其与结构体的区别,包括空间大小计算和应用示例。最后简要说明了枚举类型的作用、定义格式和初始化规则。全文通过具体代码示例展示了这些自定义数据类型在C语言中的实际应用场景,为开发者提供了实用的编程参考。
2025-11-09 16:28:29
637
原创 C语言基础之函数
本文系统介绍了C语言中函数的相关概念与应用。主要内容包括:函数的定义与四种形式(无参无返、有参无返、无参有返、有参有返);函数的声明与调用方式;形参与实参的区别;参数传递规则(基本类型传值、数组和指针传地址);函数返回值处理;指针函数与函数指针的区别及使用;全局变量与局部变量的特性。文章还介绍了extern和static关键字的作用,以及C程序的五大内存区域划分。通过详细的代码示例,全面阐述了函数在C语言中的实现和应用技巧。
2025-11-06 14:39:57
1008
原创 C语言基础之指针
本文摘要:文章系统介绍了C语言指针的核心概念与应用。首先阐述了指针的基础知识,包括指针的意义、使用方式及表现形式(固定8字节大小)。重点讲解了指针的应用:通过指针变量赋值取值、指针偏移操作(涉及地址空间计算)、指针与数组的关系(数组名作为指针变量使用)。详细分析了指针在字符数组、二维数组中的特殊用法,包括数组指针和指针数组的区别与使用场景。最后介绍了多级指针的概念。文中通过大量代码示例演示了指针操作的具体实现,如字符串函数仿写、二维数组元素访问的四种方式等,为深入理解指针机制提供了实践指导。
2025-11-04 17:32:30
901
原创 C语言基础之数组
本文介绍了C语言中数组的基本概念和应用。主要内容包括:一维数组的定义、初始化、输入输出操作及冒泡排序算法;二维数组的表示方法和应用;字符数组的定义、字符串操作及常用字符串函数。重点讲解了数组的空间计算、下标使用、越界问题以及字符串结束符'\0'的作用。通过代码示例详细演示了数组的各种操作技巧,包括循环赋值、排序算法实现等,为C语言数组编程提供了基础指导。
2025-10-30 20:15:26
569
原创 C语言流程控制语句之循环结构
本文介绍了C语言中的三种循环结构:while、do-while和for循环。while循环先判断后执行,可能一次都不执行;do-while循环先执行一次再判断;for循环适合已知循环次数的情况。文章详细说明了每种循环的语法、流程图和代码示例,重点分析了缓冲区输入问题和'\n'的处理方法。还讲解了循环控制语句continue、break、return和goto的使用场景及区别。最后总结了循环结构的注意事项,包括循环嵌套、大括号省略规则等。这些基础知识对理解C语言流程控制至关重要。
2025-10-28 20:20:50
646
原创 C语言流程控制之选择结构
本文介绍了C语言中的流程控制语句,重点讲解了选择结构的使用方法。主要内容包括:1.单if选择结构用于单一条件判断;2.if-else结构处理真假两种结果;3.if-else if结构实现多条件判断;4.switch-case结构进行等值判断。文章通过成绩评定和星期判断等实例,详细说明了各种选择结构的语法、流程图和代码实现,并特别强调了break语句的作用和省略条件。这些流程控制语句能够有效改变程序默认的执行顺序,实现更灵活的逻辑控制。
2025-10-27 19:45:43
605
原创 C语言基本数据类型以及变量与常量
本文介绍了C语言基础知识和Linux环境下的编程实践。主要内容包括:1)Ubuntu环境下安装gcc编译器;2)进制转换原理(二进制、八进制、十六进制);3)C语言基本数据类型(char、short、int等)及其存储特性;4)变量与常量的定义和使用;5)输入输出函数(printf/scanf)的格式控制。通过实例演示了字符与ASCII码的关系、数据类型回环存储现象等核心概念,为后续C语言学习奠定基础。文章强调在Linux系统中使用gcc编译C程序,并详细说明了不同数据类型的取值范围和内存表示方式。
2025-10-25 13:50:40
722
原创 Linux基本指令(VMware虚拟环境)
本文介绍了Linux系统(基于Ubuntu 20.04)的基本操作指令。主要内容包括:1)Linux路径概念(相对/绝对路径);2)常用指令如pwd查看路径、ls显示目录内容、mkdir创建目录、cd切换目录、touch创建文件、gedit编辑文件;3)文件操作指令包括cp复制、mv移动/重命名、rm删除;4)压缩解压命令tar;5)辅助指令如sudo权限管理、su切换用户等。文章强调Linux万物皆文件的特性,并指出指令可与路径灵活组合使用,为初学者提供了Linux命令行操作的基础指南。
2025-10-23 19:50:59
807
原创 TIM定时器(基本介绍,内外时钟源选择功能模块)
本文介绍了STM32微控制器的定时器功能,重点分析了基本定时器、通用定时器和高级定时器的结构特点及应用。基本定时器仅支持内部时钟源,通过时基单元实现定时中断;通用定时器增加了外部时钟、输入捕获等扩展功能;高级定时器则具备重复计数、死区生成等高级特性,适用于电机控制等复杂场景。文章详细阐述了预分频器和计数器的工作原理,推导出定时器频率计算公式CK_CNT_OV=CK_PSC/(PSC+1)/(ARR+1),并解释了影子寄存器的缓冲机制。通过时序图分析,说明了分频参数对计数周期的影响,为STM32定时器的实际应
2025-08-11 15:23:08
888
原创 从零到一STM32第一个程序使用库函数点亮一个LED灯并使其闪烁(江协科技)
STM32基础程序使用库函数编程通过GPIO的输出模式实现LED小灯的闪烁
2025-07-26 09:19:59
1070
原创 keil5如何创建stm32工程
STM32使用Keil5从零创建项目工程(库函数版) 本文针对STM32初学者使用Keil5开发时遇到的工程创建难题,提供基于库函数的项目搭建指南。本次采用芯片是stm32f103c8t6
2025-07-19 09:24:59
377
1
悬赏,C语言习题,在线求解
2022-11-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅