自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 数据结构剖析:栈,以及部分AI可能出现的访问冲突原因及解决办法

由于后续对节点的访问都付诸指针,所以下一节点与上一节点也会初始化为指针。原因:访问了已经无法读取的节点,访问方式包括但不限于。解决方法可以使用size变量代替访问内存。head->next(空)!注:此处的size用于追踪栈长度,也可。head->prev(空)=NULL;

2024-09-23 17:17:19 119

原创 linux驱动开发学习日志

驱动开发不仅仅是对C语言函数的扩展,更重要的是需要理解设备的工作原理和操作系统的I/O机制。驱动程序是操作系统和硬件设备之间的桥梁,通过I/O模型(如阻塞、非阻塞和异步I/O)、I/O层次结构(用户态、内核态)、中断处理、I/O调度等技术实现高效的数据传输和硬件控制。开发者需要深入理解这些原理,才能编写出高效、可靠的驱动程序。

2024-09-16 21:27:13 870

原创 队列应用:遍历二叉树

【代码】队列应用:遍历二叉树。

2024-09-09 15:57:30 127

原创 linux串口初始化模板及相关信息

本文介绍linux下串口初始化模板及相关信息

2024-08-20 08:32:26 402

原创 基于linux中数据库的操作方法以及c语言对其的链接,操作示例,mysql的远程连接

本文主要介绍基于linux中数据库的操作方法以及c语言对其的链接,操作示例,mysql的远程连接

2024-08-08 16:27:17 302 2

原创 linux常见命令合集(持续更新)

如果两者相等,说明锁当前未被其他线程占用,CAS操作会将锁变量的值设置为表示锁已被占用的值,从而成功获取锁。如果CAS操作失败(即锁变量的当前值与期望值不相等),说明锁已被其他线程占用,此时线程通常会进入等待状态。CAS操作是一种典型的原子操作,它涉及三个操作数——内存位置(V)、期望的原值(A)和新值(B)。CAS操作会先比较内存位置V的值与期望的原值A,如果两者相等,则将内存位置V的值设置为新值B。操作系统 :信号量 正数 (p:获取资源,信号量减一,v:释放资源,信号量加一)(0,1二值;

2024-08-08 09:56:52 424 1

原创 linux服务器的创建模板及原理

本文介绍了在linux下基于c语言,vim编译环境下服务器及客户端的搭建

2024-08-08 09:53:21 268 1

原创 c语言练习:两种循环链表部分功能及相关疑难解答(1):单向循环链表

本文介绍双向链表单向的生成,头插尾插等函数的实现,以及过程中的部分疑难解答

2024-08-03 20:41:43 264

原创 c语言学习日志:编码过程的深入剖析,及文本转换函数的实现

ps:ASCII码表示不了中文,早期驱动程序会将英文和数字,特殊字符转换为ASCII码值,将中文单独转换为unicode码值,但现在纵使是ASCII码支持的字符,驱动程序也有可能将其转换为unicode码值。注:不同于strlen,atoi函数并不以/0作为结尾标记,正因如此,自己实现时以strlen返回值作为循环次数便并不恰当。中断处理程序是操作系统或设备驱动程序中的一段代码,它专门用于处理来自特定硬件设备的中断请求。,CPU会根据中断优先级中断可能存在的正在运行的程序并保存环境,跳转执行相应的。

2024-08-03 11:53:25 239 1

原创 双向链表及相关功能实现(部分疑难解答)

当我们创建了一个链表,并在初始化时直接初始化该链表后,我们不能直接通过free()函数来释放整个链表,原因在于链表的的内存块在物理上独立(创建链表时直接创建而各个函数模块修改链表时传入指针原因在于:若是各个函数传入本身值的话实际上操作的是传入值的。2.双节点的情况也一定要注意,在头结点被删除的情况下尾节点也就不是完整意义上的尾节点了(注:末尾两行用来测试连续两个节点的访问情况(触发中断就刺激了)),只是通过指针链接,而free函数是被设计用来释放之前。,否则会出现越界销毁的问题。考虑只有一个节点的情况。

2024-08-02 16:42:14 273

原创 住户管理系统及其编写过程中遇到的问题及其解决方法

(注:其中%[^,]意为:以,为界扫描出的值赋值给目标)2.冗余循环导致的内存覆盖i < 49;printf("目前数据:\n%s,%s,%s,%s,%s\n",fclose(fp);此处,打印id时会打印失败,原因在于内层while循环已经因为feof的判断停止运行;然而外层循环还会执行!将直接导致内存覆盖!进一步导致最后一个房间id打印失败此处feof只会在读取失败时返回非零值。

2024-07-24 12:01:54 399 1

原创 C++学习日记

2.进入主函数时给对象分配空间,但没有构建完整对象;即对象的成员(类域中的value)(例如private中的value)所以在构造函数,拷贝构造,移动构造可以拿初始化列表初始化对象成员。1.构造函数执行完毕,即对象有了成员变量,这个对象才称得上完整。有空间不一定有对象(成员变量),有对象(成员变量)一定有空间。进入主函数时给对象分配空间,但没有构建对象(的成员)创建对象,初始化对象的属性,类型的转换。:意为创建对象时,对 对象成员进行赋值。

2024-07-19 19:53:53 237

原创 C语言:课程管理系统

fileops.h文件。course,h文件。

2024-07-18 15:31:51 136

原创 C语言(数据结构)链表练习(1)

h文件部分(函数声明,结构体创建等)注意点:malloc的free问题。源.cpp文件(函数的实现)

2024-07-16 18:10:52 113

原创 C语言总结:结构体,联合体,文件操作及课程管理系统项目中遇到的部分问题及解决方案

在C语言中,联合体(Union)是一种特殊的数据结构,它允许在相同的内存位置存储不同的数据类型。但是,在任何时候,只有联合体的一个成员是有效的,因为它们是共享同一块内存空间的。stdin是一个特殊的文件流,它通常与终端(terminal)或控制台(console)相关联,而不是与磁盘上的文件相关联。因此,尝试将stdin的读写位置重置到开始处是没有明确语义的。在 Unix 和类 Unix 系统(如 Linux 和 macOS)中,stdin。

2024-05-13 00:48:26 645 1

原创 C语言日常练习(乱序,指定大小的折半查找;简单的登录注册查找功能实现;一些简单函数的实现)

记录一些C语言日常练习

2024-04-13 12:18:22 191 2

原创 C语言总结:指针部分(经典指针,数组指针,指针数组,函数指针)

总结普通指针,数组指针,函数指针,指针数组相关

2024-04-10 20:46:22 414 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除