- 博客(35)
- 收藏
- 关注
原创 Cyber骇客的数据系统有序化 ——【初阶数据结构与算法】线性表之顺序表
本文介绍了线性表和顺序表的基本概念,重点讲解了动态顺序表的实现方法。文章采用分文件编写方式,将代码分为头文件SeqList.h、功能实现文件SeqList.c和测试文件Test.c。详细说明了动态顺序表的初始化、销毁、打印、扩容等核心功能实现,并强调了指针传递、内存管理、边界检查等关键编程要点。通过宏定义和断言等技巧,提高了代码的可维护性和安全性。文章还指出了静态顺序表的局限性,推荐使用动态顺序表以适应实际需求。
2025-11-23 02:42:20
401
32
原创 【一天一个计算机知识】—— 【编程百度】#define
本文全面解析C语言中#define预处理指令的用法。从基础概念入手,介绍了宏定义的基本形式、函数式宏的使用及括号的重要性。重点讲解了多行宏的do {...} while(0)技巧,深入剖析了高级预处理运算符#和##的魔法功能,以及变参宏的实现。文章还警示了宏使用中的常见陷阱,如自增/自减副作用,并通过对比const和inline给出了不同场景下的最佳实践建议。最后简要说明了取消宏定义的方法。全文内容丰富实用,适合想深入理解宏定义的开发者阅读。
2025-11-20 01:48:09
1286
15
原创 破解骇客的时空罗盘——【初阶数据结构与算法】时间与空间复杂度
本文介绍了数据结构与算法的基本概念及其重要性。数据结构是计算机存储和组织数据的方式,直接影响程序效率和性能。学习数据结构需掌握基础理论、动手实践并解决实际问题。算法则是定义良好的计算过程,将输入转化为输出结果。文章强调算法对求职和提升编程能力的价值,推荐LeetCode等刷题平台。重点讲解了时间复杂度及其大O表示法的推导规则,列举了O(1)、O(logn)、O(n)、O(nlogn)和O(n²)等常见复杂度等级。通过实际代码示例说明不同时间复杂度的特点,帮助读者理解算法效率分析的基本方法。
2025-11-19 23:52:47
948
22
原创 【一天一个计算机知识】—— 【编程百度】翻译环境与运行环境
本文详细介绍了C语言程序的编译与链接过程。首先解释ANSI C标准的重要性,包括其对内存管理、文件操作、新关键字及预处理器的标准化。随后重点剖析了翻译环境的两大阶段:编译(预处理、词法语法分析、语义分析、汇编)和链接。通过流程图展示了多文件项目的编译过程,并分析了预编译的五大任务(文件包含、宏替换、条件编译等)。文章还比较了Windows与Linux环境下目标文件后缀的差异,强调预编译后.i文件的特点。最后指出链接阶段如何将目标文件与库文件合并生成最终可执行程序
2025-11-13 20:29:01
1250
17
原创 【一天一个计算机知识】—— 【编程百度】预处理指令
本文系统介绍了C/C++中的预处理指令机制。重点讲解了#include文件包含、#define宏定义、条件编译和#pragma指令四大类核心预处理功能。其中,#include实现文件内容插入,#define定义文本替换宏,条件编译控制代码选择性编译,#pragma则提供编译器扩展指令。文章通过大量示例详细说明了各类指令的语法格式、功能特点及实用场景,如#pragma once防止重复包含、#pragma pack控制内存对齐等。预处理指令作为编译前的文本处理工具,对代码组织、性能优化和跨平台开发具有重要意义
2025-11-13 19:19:55
998
10
原创 【一天一个计算机知识】—— 【编程百度】条件编译
条件编译是C语言预处理阶段的核心功能,允许根据预定义条件选择性地包含或排除代码块。条件编译使代码更具灵活性,能针对不同环境生成不同版本,是C项目组织的重要工具。所有条件判断都在编译前完成,不影响运行时性能
2025-11-12 23:09:22
698
1
原创 收集飞花令碎片——【C语言】文件操作
本文主要介绍了C语言中文件操作的基本概念和关键知识。首先解释了文件的概念和分类,包括程序文件和数据文件,重点讨论了数据文件中的文本文件和二进制文件。然后介绍了文件名和文件存储方式,解释了ASCII形式和二进制形式的区别。 文章重点讲解了文件操作的关键知识,包括标准流(stdin、stdout、stderr)、文件指针(FILE*)以及文件的打开(fopen)和关闭(fclose)操作。此外,还概述了文件的顺序读写方法,如fgetc、fputc等函数。这些内容为理解和使用C语言进行文件操作提供了基础指导。
2025-11-10 02:02:02
1352
31
原创 收集飞花令碎片——【C语言】动态内存管理&&数据存储的内存结构
本文介绍了C语言动态内存管理的核心概念与使用技巧,本文还简要提及了数据在内存中的存储结构,为理解动态内存管理提供基础背景知识。
2025-11-06 01:32:33
1371
17
原创 收集飞花令碎片——【C语言】自定义类型(结构体、联合体、枚举)
C语言结构体详解 结构体(Struct)是C语言中一种自定义数据类型,可以将不同类型的数据组合成新的复合类型。本文全面介绍了结构体的核心知识点: 结构体定义:通过struct关键字定义,包含多个成员变量。 变量声明与初始化:三种声明方式及初始本文内容翔实,配以代码示例和内存布局图表,是学习C语言结构体的完整指南。
2025-10-31 02:55:31
6320
18
原创 波光瑶池【C++资源网络】——【C和C Plus Plus】玩家的资源天堂
本文推荐两个C/C++学习资源网站:首选cppreference.com,该网站全面准确且持续更新,适合深入学习;次选C Plus Plus(legacy版),界面友好但内容过时,适合初学者入门。建议新手从C Plus Plus入手,进阶者使用cppreference,并关注cppconference获取最新技术动态。
2025-10-24 18:21:15
427
5
原创 收集飞花令碎片——C语言内存函数
本文介绍了C语言中操作内存的标准库函数,这些函数以mem开头,按字节操作数据,定义在<string.h>中。重点分析了memcpy和memmove的实现差异,解释了为何memcpy不处理内存重叠,而memmove通过判断地址关系选择正向或反向复制来保证正确性。文中提供了各函数的典型用法示例和实现原理说明。
2025-10-22 22:54:13
1095
19
原创 收集飞花令碎片——C语言字符函数与字符串函数
本文介绍了C语言中常用的字符和字符串处理函数。字符函数位于<ctype.h>头文件中,包括字符分类函数(如isdigit、isalpha等)和转换函数(如tolower、toupper)。字符串函数位于<string.h>中,包含strlen获取长度、strcpy/strncpy复制字符串等功能。文章通过示例代码演示了这些函数的实际应用,如大小写转换、数字与字符互转等操作,并提供了安全使用建议。这些函数是C语言文本处理的基础工具。
2025-10-19 02:44:42
1000
14
原创 初探算法的魅力——手把手带你实现最经典的冒泡排序
本文介绍了冒泡排序算法的实现与优化。首先展示了一个基础版本的冒泡排序代码,通过双重循环实现相邻元素的比较和交换。然后提出了两个优化方案:1)使用标志位检测数组是否已经有序,避免不必要的循环;2)采用动态边界技术,智能调整每轮的比较范围。文章通过可视化示例详细说明了优化版冒泡排序的执行过程,并对比了基础版和优化版的性能差异。最后给出了完整的优化版冒泡排序代码实现。
2025-10-10 01:17:37
1046
11
原创 收集飞花令碎片——C语言指针
本文深入浅出地讲解了C语言指针的核心概念与应用。从内存单元和地址的基础知识入手,详细解析了指针的定义、关键运算符(&取地址和解引用)、初始化方法以及指针变量的大小特性。通过代码示例展示了指针运算的三种形式(指针±整数、指针-指针、关系运算),并特别强调了void指针的泛型特性及其使用限制。文章以生动的比喻和清晰的图表帮助读者理解指针这一复杂概念,为后续学习指针的高级用法奠定了基础。
2025-09-18 22:44:04
784
30
原创 收集飞花令碎片——C语言关键字typedef
这篇文章介绍了C语言中typedef关键字的作用与用法,通过代码示例直观展示了typedef在数组指针和函数指针中的具体应用方法。
2025-09-13 23:57:34
365
1
原创 阁边风月潭——关于C语言函数指针代码两段有趣的代码
这篇文章解析了两段C语言函数指针相关的代码。第一段代码(*(void (*)())0)();将0强制转换为无参无返回值的函数指针并调用,实际可能引发程序崩溃。第二段代码void (*signal(int, void(*)(int)))(int);声明了signal函数,它接收一个int和一个函数指针参数,返回另一个函数指针。这种复杂的函数指针语法在系统编程中常见,但需要谨慎使用以避免错误。文章通过分步拆解帮助理解这种高级语法结构。
2025-09-02 09:49:56
180
原创 云边诗亭——函数栈帧
函数栈帧是程序运行时在调用栈上为函数分配的内存区域,用于存储参数、返回地址、局部变量等信息。x86架构中,ESP指向栈顶,EBP指向栈帧基址。栈帧从高地址向低地址生长,包含函数参数、返回地址、前一个栈帧基址、局部变量和临时空间。理解栈帧有助于掌握函数调用机制、参数传递和调试信息。栈帧实现了函数调用与返回的隔离,支持递归调用。虽然深入原理并非必需,但了解其基本结构对编程有帮助。
2025-07-15 11:00:24
754
3
原创 收集飞花令碎片——VS调试技巧
本文介绍了程序调试的基础知识,包括bug的定义(程序中的未发现缺陷)、调试的概念(定位和修复问题的过程),以及debug和release版本的区别。详细讲解了VS调试环境的准备和常用快捷键(如F9断点、F5启动调试、F10逐过程等),并演示了如何使用监视窗口和内存窗口观察变量状态。此外,文章还分析了常见的编译型和链接型错误成因,强调调试是程序员必须掌握的实践技能。最后提醒读者调试需要反复练习才能深入理解程序本质。
2025-07-14 13:54:37
1108
1
原创 项目实战——C语言扫雷游戏
扫雷是一款经典的单人益智游戏,玩家需根据数字提示避开隐藏的地雷。C语言实现扫雷通常使用二维数组模拟棋盘,通过随机布雷、计算周围雷数、递归展开空白区域等逻辑完成核心功能。
2025-06-04 14:45:39
909
2
原创 收集飞花令碎片——C语言(数组+函数)
本文摘要:C语言函数是程序的基本构建模块,分为库函数和自定义函数。库函数(如printf、sqrt)位于标准库头文件中,使用前需包含对应头文件。自定义函数由返回类型、函数名、参数列表和函数体组成,可提高代码模块化和复用性。函数调用时需注意形参(函数定义中的变量)和实参(调用时传入的值)的内存差异:形参在栈中分配,函数结束释放;实参内存由原作用域决定。数组作为函数参数时实质传递的是首元素地址,函数内无法直接获取数组大小,通常需要额外传递大小参数。文章还详细介绍了函数声明、调用方式以及指针参数等核心概念。
2025-05-29 20:49:18
862
1
原创 收集飞花令碎片——C语言数组
本文系统讲解了C语言中数组的概念与使用方法。主要内容包括:一维数组的创建与初始化、数组类型、基本使用及内存存储方式;二维数组的创建、初始化、输入输出及内存存储特点。文章还介绍了sizeof计算数组元素个数的方法和C99变长数组特性,最后通过一个字符移动练习展示数组的实际应用。重点强调了数组在内存中的连续存储特性,为后续指针学习奠定基础。
2025-05-27 00:50:46
803
原创 收集飞花令碎片——C语言操作符与进制转换
C语言中的操作符用于执行各种运算和操作,主要包括算术、关系、逻辑、位操作、赋值等。文章首先介绍了进制转换,包括二进制、八进制、十六进制的表示方法及其转换规则。接着详细讲解了C语言中的操作符分类,如算术操作符、移位操作符、位操作符、赋值操作符等,并提供了相关代码示例。此外,文章还解释了原码、反码、补码的概念及其在计算机中的存储方式。最后,介绍了单目操作符的使用,如递增、递减等。通过本文,读者可以全面了解C语言中操作符的基本用法及其在编程中的应用。
2025-05-16 13:43:32
826
2
原创 收集飞花令碎片——C语言分支与循环语句(上)
本章详细介绍了C语言中的分支与循环语句,帮助读者掌握这些基础编程结构。分支语句包括if、if-else、if-else if-else链和switch语句,用于根据不同条件执行不同的代码块。循环语句包括while、do-while和for循环,用于重复执行代码块,直到满足特定条件。此外,还介绍了嵌套循环和辅助控制语句(如break、continue和goto),这些语句可以增强程序的控制能力。通过本章的学习,读者将能够更好地理解和运用C语言中的分支与循环结构,为后续的编程实践打下坚实基础。
2025-05-12 16:40:26
902
原创 收集飞花令碎片——C语言转义字符
C语言中的转义字符是一种特殊的字符序列,以反斜杠(\)开头,用来表示一些特殊的字符或控制字符。常见的转义字符包括:\n(换行)、\t(制表符)、\(反斜杠本身)、'(单引号)、"(双引号)等。通过转义字符,可以在字符串中插入特殊字符,实现文本输出的格式化和控制。在C语言中,转义字符是常用的字符处理技巧之一,有助于提高代码的可读性和灵活性。
2025-04-30 18:29:31
418
6
原创 书写十四行诗的精髓——C语言printf格式化输出语句
printf函数是C语言中用于输出格式化字符串的函数。该函数可以将变量、常量、字符串等数据以指定的格式输出到标准输出设备(通常是屏幕)
2025-04-30 01:09:57
1080
2
原创 收集飞花令碎片——C语言字符串(纯干货)
# C语言字符串简介C语言中,字符串是以'\0'结尾的字符数组。<string.h>提供常用操作函数:strlen计算长度,strcpy复制字符串,strcat连接字符串,strcmp比较字符串。字符串常量用双引号表示,如"Hello"。使用时需注意数组长度,避免越界。这些基础功能广泛应用于文本处理和数据操作中。
2025-04-29 17:46:49
2097
1
原创 收集飞花令碎片——C语言变量和常量
变量和常量在C语言中扮演着非常重要的角色。变量用来存储程序的状态和数据,常量则用来表示不可变的值。合理地使用变量和常量可以使程序更加清晰、灵活,并提高代码的可读性和维护性。
2025-04-26 02:07:34
2038
4
原创 收集飞花令碎片——【C语言基本数据类型&&数据在内存中的存储】
C语言中的数据变量是程序中存储数据值的一种基本机制。在C语言中,变量需要先声明再使用,声明时需要指定变量的数据类型,如整型、浮点型、字符型等。变量名用于标识该变量,在使用变量之前应进行初始化赋值操作。变量的作用域可以是全局的或局部的,全局变量在整个程序中都可访问,而局部变量只在定义它的函数或代码块中可见。变量可以被赋予不同的值,并且可以在程序执行过程中被修改。变量的值可以被打印输出,用于调试和查看程序运行过程中的数据变化。总之,数据变量在C语言中扮演着非常重要的角色,是程序运行和数据处理的基础。
2025-04-23 15:39:59
712
1
原创 收集飞花令碎片——C语言常见概念
人与人交流的是自然语言,如:汉语、英语、日语那人与计算机交流就得用C语言就是众多编程语言中的一种,是一种底层语言C语言是一门计算机语言,C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译和的链接,转换成C语言代码是放在fill:#333;color:#333;color:#333;fill:none;test.c编译器处理test.cpptest.exe。
2025-04-15 16:14:57
1041
3
原创 豆包Mars Code AI最全下载和使用教程,掌握编程开挂神器
豆包 MarsCode AI你想想你刷题的时候,是不是给了答案都看不懂,有时候复制粘贴过来的代码自己看了半天都看不出来bug在哪所以,遇到这种情况,就让我这台AI挖掘机来介绍一个可以白嫖的神器。
2025-03-19 08:46:12
829
2
原创 IDEA MarsCodeAI网络连接失败的问题(包括其它AI工具都可以参考)
每次当我愉快的打开IDEA,准备我的代码好好优化一番时(将作业统统以AI代过的时候),我老是发现我的MarsCode不能用了,这对于我这种懒得写注释的成嘘猿来说犹如一道晴天霹雳,上网查了各种资料都没有具体的解决思路,甚至换个工具也是如此,当我以为天要亡我时,求助了Marscode的工作人员(该说不说,效率是挺高的),最后成功解决了我的问题,成功挽救了我的懒癌晚期。由于网上很少有对应的解决方案,就写一篇博客,为小伙伴们指明道路吧!打开IDEA左上角的File(因为我这里是中文版,所以显示的是“文件”)
2025-03-16 02:55:53
739
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅