自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt 学习笔记(二)· 信号槽与数据传递

函数——作用/规则/注意/坑 connect(发送者, &类::信号, 接收者, &类::槽)——最推荐写法,编译期检查,避免字符串错误;注意参数类型匹配,槽可少参但类型必须兼容。 emit 自定义信号——自定义信号仅声明不实现,需类中含Q_OBJECT宏,否则报错;值未变时勿发射,防冗余刷新。 sender()——多控件共用槽时识别来源,须配合qobject_cast<>()使用,非目标类型返回nullptr,必须判空;慎用于复选框互斥场景,否则陷入无限触发。 信号连信号——实

2026-11-12 18:13:58 306

原创 Qt 学习笔记(一)· 控件与界面

Qt程序骨架由QApplication(全局管理)与窗口构成,a.exec()进入事件循环。控件通过对象树管理,父对象析构时自动释放子对象,避免内存泄漏。常用控件如QLineEdit支持输入验证与信号(textChanged实时判、editingFinished输完判),QPushButton通过setEnabled控制状态,QLabel用于显示文本或图片。布局使用QVBoxLayout、QHBoxLayout或QFormLayout实现自适应排版,禁止手动设置几何属性。QMainWindow提供菜单栏、工

2026-11-12 18:12:05 107

原创 C++ 面向对象编程 · 封装

我把自己写的 9 个 cpp 练习(car、dool、student、work2_2、work3_2、work1、work5、work4_2)逐一对应到知识点上,作为实战案例穿插在正文中,既便于复习,也能对照发现代码里真实存在的问题。课件最后的综合案例要求“通过注册信息写一个类”:从一段注册信息里提取实体,拆成 Clazz(班级)、Teacher(老师)、Student(学生)、Exam(考试)四个类,各自封装属性(如学生姓名/年龄/年级、老师姓名/年龄/学科)与行为(学习、教学、介绍)。

2026-10-08 23:45:48 102

原创 C/C++ 语言核心对比速通

本笔记以课程课件《C/C++ 语言核心对比速通》的知识脉络为主线,结合自己编写的 9 个 C++ 练习程序(C++_IO.cpp、namespace.cpp、for_each.cpp、work2.cpp、work3.cpp、max.cpp、sort.cpp、sorp1.cpp、work4.cpp),把课堂讲解的概念与真实代码对照起来,逐点梳理 C 到 C++ 的核心变化。指针是存放内存地址的变量。C++ 是 C 的超集,进入 C++ 新特性前,先把 C 的四个基本构件过一遍:数组与函数、指针、结构体。

2026-10-08 23:21:40 211

原创 Linux 网络编程学习笔记

TCP 确保数据的可靠性、按序传输和错误恢复。UDP(User Datagram Protocol)是一种无连接的网络传输协议,在网络层提供简单的、不可靠的传输机制。它的本质是由于发送方发送数据的速度快于接收方处理数据的速度,导致多个数据包连续到达接收方,被接收方当作一个大的数据包处理,造成数据的混乱和解析错误。分层模型的目的是将复杂的网络通信过程分解为多个简单的功能模块,提高网络的可扩展性、可维护性和互操作性。在数据包中添加一个表示数据长度的字段,在接收方根据长度字段读取指定长度的数据进行拆包处理。

2026-09-28 22:59:57 219

原创 Linux 多线程学习笔记

Linux 下线程基于 pthread 库实现,本质是"轻量级进程",共享同一进程的资源。跑通第一个多线程程序,再学互斥锁保护共享数据,最后攻克"生产者-消费者"模型(互斥锁+条件变量 / 信号量两种写法)。:Web 服务器(Nginx)、数据库(MySQL)、游戏引擎、音视频处理、网络爬虫。⚠️ 谁 lock 谁 unlock,严禁重复加锁(死锁)或解未持有的锁。:成功 0,失败返回正整数错误码(不设置 errno):轻量(创建快)、共享(通信简单)、并发(多核并行):编写代码(.c 文件) → 编译(

2026-09-26 09:51:32 343

原创 C高级--进程间通讯学习笔记

僵尸进程:子进程运行完成后,如果其资源没有被父进程回收,就会变成僵尸进程。它是已经停止但未被回收的子进程,占着进程表项和 PID(task_struct 未释放),堆积过多会耗尽系统进程数上限。孤儿进程:父进程提前结束,导致子进程失去父进程。此时子进程会被 PID 1(init / systemd)收养。Linux 信号是操作系统用于进程间通信和控制的一种机制。可以通过 Shell 命令kill向指定进程发送信号(如kill -KILL [进程号]),使用kill -l可以显示所有信号。

2026-09-08 18:45:32 376

原创 C高级——Linux 进程管理 学习笔记

定义:程序正在运行的状态,即程序被加载到内存里运行起来的状态。特性:同一个程序可以开启多个进程,各自拥有独立的内存空间。

2026-09-02 21:54:07 782

原创 学习 C高级 — 文件操作 学习笔记

知识点关键总结I/O 缓存内存中的临时区域,用于提升读写性能。stdin/stdout/stderr 是标准流文件读写标准 I/O 库函数(fread 等)也可用于操作标准流文件描述符非负整数,唯一标识打开的文件。直接系统调用,无缓冲。核心函数:open / read / write文件重定向改变数据流向。文件流用freopen,文件描述符用dupdup2文件光标文件内的当前位置指针。通过进行移动。

2026-08-31 23:25:33 175

原创 C高级--Git 的基本使用

CICD 是 DevOps 的基础,它由持续集成(CI)与持续交付/部署(CD)两部分组成,目标是让软件交付过程更快速、更可靠。CI:持续集成(Continuous Integration)将各个开发人员的工作集合到一个代码仓库中。通常每天都要进行几次,主要目的是尽早发现集成错误,使团队更加紧密,更好地合作。CD:持续交付和部署(Continuous Delivery & Deployment)持续交付的目的是最小化部署或者释放过程中固有的摩擦。

2026-08-30 20:39:30 175

原创 学习 C 高级 —— Linux 基础指令

操作系统(OS):用来控制计算机的程序。

2026-08-27 17:57:50 237

原创 C语言链表高级 学习笔记

(置为 NULL),一级指针只能修改指针指向的内容,无法修改指针本身。直接指向待删除节点的后继,然后释放待删除节点的内存。将两个升序链表合并为一个新的升序链表。已经变成了下一个待检查的节点)。如果需要删除所有值为。

2026-08-20 21:57:38 205 1

原创 C语言链表基础 学习笔记

定义:当相同数据类型的数据随机分布在内存中的各个位置,但是相互之间又有联系,这种如同链条形式的存储结构称为链式存储。类比:数组像“排队坐座位”(连续空间),链表像“寻宝游戏”(每个线索指向下一个位置)。int data;} Node;

2026-08-20 21:46:00 223 1

原创 C语言动态内存分配 学习笔记

A[开始: append(arr, value)] --> B{数组已满?本节介绍了如何利用 AI 辅助进行企业级软件开发,从需求分析到技术设计的完整流程。的简易实现,展示了动态内存的增删改查 (CRUD) 和自动扩容机制。B -- 是 --> C[调用 expandCapacity]D -- 否 --> E[返回失败]D -- 是 --> F[写入数据]G --> H[结束: 返回成功]C --> D{扩容成功?B -- 否 --> F。这是一个模拟 C++

2026-08-10 19:02:26 167 1

原创 C语言文件操作学习笔记

理解:FILE 就像一个"文件句柄"或"业务单",程序不直接操作磁盘,而是通过 FILE* 指针与标准库函数打交道,由库函数去管理底层的文件操作。如果读取的行包含换行符,它会一并被读入。"r" (读)、"w" (写,会清空)、"a" (追加)、"b" (二进制)。在模式后加 b (如 "rb"、"wb") 表示以二进制模式操作。作用:关闭文件,释放 FILE 结构体,并将缓冲区数据写回磁盘。"a" (追加):若文件存在则在末尾追加,若不存在则创建。"w" (只写):若文件存在则清空内容,若不存在则创建。

2026-08-06 20:10:56 226 1

原创 C 语言字符串学习笔记

原型:char *strstr(const char *haystack, const char *needle);// 确认密码(注册时用)原型:char *strtok(char *str, const char *delim);原型:char *strcpy(char *dest, const char *src);原型:char *strcat(char *dest, const char *src);本质:char 类型的数组,\0 是字符串的结束标志,不计入字符串长度,但占用内存空间。

2026-08-05 23:37:01 249 1

原创 C语言模块开发与宏定义 学习笔记

*模块化优势**:如果以后要增加"计算总分"功能,只需在 `.h` 中声明,在 `.c` 中实现,`main.c` 无需修改内部逻辑,直接调用即可。- **现象**:`student.h` 包含 `teacher.h`,而 `teacher.h` 又包含 `student.h`,导致编译错误。- `include/student.h`:定义 `Student` 结构体,声明 `input`、`print`、`calc_avg` 等函数。| 头文件 | `.h` | 接口声明(函数声明、结构体、宏)。

2026-08-04 23:23:06 189 1

原创 C语言自定义类型综合学习笔记

【摘要】本文系统整理了C语言自定义类型的核心知识点,重点剖析结构体、枚举和联合体的特性与应用。结构体部分详细讲解了声明方法、变量定义、内存对齐规则及自引用技术(链表实现关键),强调指针传参的高效性;枚举部分说明其增强代码可读性的作用;联合体则突出内存共享特性。笔记特别提示三大易错点:结构体自引用必须使用指针、联合体的数据覆盖风险、内存对齐带来的空间计算差异,并给出优化建议(如成员排序技巧)。通过对比值传递与地址传递的优劣,提供const保护等实践方案,帮助开发者规避常见陷阱。

2026-07-31 16:39:30 329

原创 C语言指针进阶 学习笔记

在函数参数中,int arr[]、int arr[10] 和 int *arr 本质上是等价的,都退化为指向首元素的指针。C/C++ 会优化字符串常量,相同的字符串常量在内存中只有一份,所以不同指针指向相同字符串时,地址是相同的。原因:指针数组名代表首元素地址,而首元素本身就是一个指针(int*),所以数组名的类型是 int**。把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就称为回调。特点:指针本身不能改变指向(初始化后不能指向别处),但可以通过指针修改指向的内容。

2026-07-29 16:06:15 250

原创 C语言指针基础 学习笔记

C语言指针基础学习摘要(148字) 指针是存储内存地址的变量,通过&取地址、*解引用。核心作用包括高效传参(传址)和动态内存管理。指针类型决定步长(如int*+1跳4字节),大小固定(32位4B/64位8B)。需避免野指针(未初始化或指向非法内存),初始化为NULL。数组名即首元素地址,三种遍历方式(下标法、偏移法、自增法)各有适用场景。指针传参可修改外部变量,二级指针(**pp)用于操作指针的指针。建议画内存图辅助理解,区分声明与解引用的*符号,多练习数组遍历和函数传参。

2026-07-28 16:36:31 209

原创 C语言数组 学习笔记

【C语言数组学习笔记摘要】 核心概念:数组是连续存储的同类型数据集合,通过下标(从0开始)高效访问元素,具有类型一致、内存连续、长度固定(静态数组)三大特性。 定义与初始化:支持完全/部分初始化(未赋值元素自动补0),长度可省略由编译器推断,未初始化局部数组含随机值。 操作要点: 访问与遍历:用for循环配合sizeof计算长度,警惕下标越界风险。 内存与指针:数组名是首元素地址(常量指针),可通过指针算术访问元素。 常见算法:元素交换、逆序、最值查找、冒泡排序(双循环控制轮次与比较)。 二维数组:类比表格

2026-07-27 16:21:57 188

原创 C语言函数基础学习笔记

本文总结了C语言函数的基础知识,包括函数的概念、定义、调用与声明、变量的作用域与生命周期,以及递归等拓展内容。函数作为代码复用和模块化的重要工具,其核心要素包括返回类型、函数名、参数列表和函数体。文章还详细介绍了形参与实参的区别、全局变量与局部变量的特性,以及递归的实现要点。学习建议强调动手实践、画内存图和循序渐进掌握递归思想,为后续编程学习打下坚实基础。

2026-07-25 22:43:38 200 3

原创 C语言流程控制语句学习笔记

*

2026-07-25 22:41:23 192 3

原创 C语言操作符 学习笔记

【C语言操作符学习笔记摘要】本文系统梳理了C语言操作符的核心知识点:1. 算术操作符强调整数除法截断特性及自增前后置差异;2. 赋值操作符需注意未初始化风险和数据溢出问题;3. 关系/逻辑操作符要区分==与=,理解短路特性;4. 位操作符包含高效移位运算和异或交换技巧;5. 其他重点包括sizeof内存计算、强制类型转换的截断风险。特别提示:操作符优先级遵循"单目>算术>关系>逻辑>赋值"原则,建议通过实际编码验证++/--等易错点,警惕将==误写为=的常见错误。

2026-07-24 15:44:42 381 3

原创 C语言基础知识

1972 → C语言诞生 1978 → 正式发布,《C程序设计语言》出版(C语言圣经) 1989 → ANSI C(C89)标准完成 1999 → C99 2011 → C11 2018 → C18(当前标准)常用关键字:int、char、float、double、if、else、for、while、return、break、continue、switch、case、void 等。学习建议:先记住 int、double、char 三种类型及对应占位符(%d、%lf、%c),再逐步扩展其他类型。

2026-07-24 15:39:29 308 3

空空如也

空空如也

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

TA关注的人

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