- 博客(19)
- 收藏
- 关注
原创 《C 语言字符串操作从入门到实战(下篇):strncpy/strncat/strstr 等函数原理与实现》
在不同的系统和C语言标准库的实现中都规定了⼀些错误码,⼀般是放在 errno.h 这个头文件中说明的,C语言程序启动的时候就会使用⼀个全局的变量 errno 来记录程序的当前错误码,只不过程序启动的时候errno是 0,表示没有错误,当我们在使用标准库中的函数的时候发生了某种错误,就会将对应的错误码,存放在 errno 中,而⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是有对应的错误信息的。是 C 标准库中的一个字符串查找函数,用于在一个字符串中查找另一个字符串的首次出现位置。
2025-05-22 17:22:40
1265
原创 《C 语言字符串操作从入门到实战(上篇):字符分类、转换及strlen/strcpy等函数详解》
上面练习中我们将小写转大写,是利用了小写字母和大写字母的Ascll码值差32的性质,现在有了转换函数,我们就可以直接使用toupper函数实现小写转大写了。从目标字符串的’\0’处开始追加,如果目标字符串未正确终止,会导致未定义行为。会一直读取源字符串直到遇到’\0’,如果源字符串未正确终止,会导致未定义行为。是 C 标准库中用于计算字符串长度的函数,定义在。是 C 标准库中用于比较两个字符串的函数,定义在。是 C 标准库中用于字符串复制的函数,定义在。是 C 标准库中用于字符串拼接的函数,定义在。
2025-05-21 15:45:12
1215
原创 《C 语言 sizeof 与 strlen 深度对比:原理、差异与实战陷阱》
sizeof计算变量所占内存空间的大小,单位是字节,如果操作数是类型的话,计算的是使用类型创建的变量所占内存空间的大小。sizeof 只关注占用内存空间的大小,不在乎内存中存放什么数据;并且sizeof中表达式不计算通过运行该代码可以得到其中a是int类型 占4个字节a+3.14 由于a算术提升到了double类型 因此占8个字节strlen是C语言库函数,功能是求字符串长度练习strlen函数 请自己思考一下 下面函数会打印那些值运行结果如下其中由于arr1并没有 ' \0 ' 结尾 因
2025-05-20 17:32:08
1655
原创 《从回调函数到 qsort:C 语言指针高级应用全攻略》
回调函数就是一个通过函数指针调用的函数示例如下int Add(int x, int y)//回调函数Addint main()text(Add);//text是调用Add的那方return 0;其中Add被称为回调函数即如果你把函数的指针(地址)作为参数传递给另一个函数 当这个指针被用来调用其所指向的函数时 被调用的函数就是回调函数 回调函数不是由该函数的实现方调用 而是在特定的事件或条件发生时由另外的一方调用的 用于对该事件或条件进行响应qsort是 C 标准库(
2025-05-19 17:41:25
1335
1
原创 《从 0 到 1:用 C 语言打造猜数字与扫雷小游戏攻略》
引言: 游戏开始运行时,玩家可选择开始游戏或退出游戏,选择开始游戏后系统将随机生成一个1~100的数字,玩家则是进行一个猜数字的操作,若猜的数字比答案大或小都分别会有相关提示,猜出正确答案后,玩家可选择再来一局或退出游戏,若再来一局系统将生成一个新的随机数作为答案,玩家则只需重复上述操作,若玩家选择退出则程序结束运行。输入1 则进入游戏 输入0 则使用break跳出 输入其他则 提示"输入错误 请重新输入"2.1 猜小了 会打印你猜小了 请重新输入。
2025-05-08 11:00:00
972
原创 《VS2022 调试实战手册:高效排查代码问题的必备攻略》
调试(Debugging)是指使用其内置的调试工具来逐步执行代码、检查变量、分析程序状态,以发现并修复错误(Bug)的过程。在我看来 调试就是对代码的排查 好比名侦探柯南一样 柯南是通过嫌疑人留下的蛛丝马迹找出了罪犯 而我们则是需要通过调试 一步一步的找到我们的罪犯(BUG) 解决掉了它 我们程序员也就破案了 切忌一遍又一遍盲目的运行修改 那就好比瞎子摸象。
2025-05-07 14:18:18
1107
原创 《初探指针世界:揭开内存管理与编程优化的第一篇章》
C语言中的内存布局代码区(Text Segment):存储编译后的机器指令(如函数代码)。全局/静态区(Data Segment):存储全局变量和静态变量(如堆区(Heap):动态分配的内存(如malloc分配的空间),需手动管理。栈区(Stack):存储局部变量、函数参数等,由系统自动分配和释放。高地址│ 栈区 │ ← 局部变量、函数调用(向下增长)│ 堆区 │ ← 动态内存(向上增长)│ 全局/静态区 │ ← 全局变量、static变量│ 代码区 │ ← 程序指令低地址。
2025-05-04 11:04:14
1663
原创 《C 语言操作符深度指南:代码优化与高效编程必备》
16进制的数字每一位是0~9 a~f的数字 各自写成2进制 最多有4个2进制位就足够了 比如f的二进制位是1111 所以2进制转16进制的 时候 从2进制序列的右边低位开始向左依次 每4个2进制位换算一个16进制位 剩余不够4个2进制位则直接换算。8进制数字是0~7的数字 各自写成二进制每3个二进制位就足够了 比如7的二进制位是111 所以2进制转8进制的时候 从2进制序列中 右边低位开始向左依次 每3个2进制位换算一个8进制位 剩余不够3个2进制位则直接换算。
2025-04-28 21:25:07
1785
3
原创 C语言----函数栈帧讲解
栈(Stack)是现代计算机程序的核心基础之一,几乎所有程序都依赖它运行。简单来说,栈就像一个严格遵守"后来先出"规则的容器:数据像叠盘子一样被压入(push)栈顶,取出时也只能从最上面弹出(pop)。在计算机中,栈是一块特殊的内存区域,由CPU通过栈指针寄存器(如x86架构的ESP/RSP)自动管理,随着数据压入栈顶指针向低地址移动(栈向下增长),弹出时则向高地址回退。正是这个精巧的设计,使得函数调用、局部变量存储、参数传递等关键功能得以实现,可以说没有栈就没有现代编程语言中的函数概念。
2025-04-25 11:00:00
1743
原创 《C 语言函数进阶全解析:嵌套、链式与递归深度探秘》
2.1 回顾函数的声明和定义1.告诉编译器有一个函数叫什么 参数是什么 返回类型是什么 但是具体存不存在 声明无法决定2.函数的声明一般出现在函数的使用之前 要满足先声明后使用3.函数的声明一般放在头文件中函数的定义指的是函数的具体实现 交代函数的功能实现在函数入门篇中 我们已经大概了解了函数的声明和定义 但实际在项目中 我们并不会这样操作现在让我们去继续了解函数的声明和定义吧 让我举个栗子来具体讲解不难看出 我调用了add函数 并把它作为了printf的参数打印了出来 但有小伙伴会问了。
2025-04-18 18:23:04
6188
1
原创 《C 语言数组深度指南:从一维到二维的入门全解析》
在官方给出的答案中是这样写的,数组是一种用于存储相同类型数据的连续内存空间的集合。它允许通过一个统一的名称和索引(下标)来访问多个同类型的数据元素。关键点在于多个 相同类型数据 元素因此不难看出,出现数组的原因是因为,当程序员需要使用大量相同类型的数据时,我们难道一个一个去定义吗?这显然并不可能 因此出现了数组这一概念 避免了这种情况按维度分类一维数组 多维数组(常见的是二维数组)2. 一维数组2.1 一维数组的创建和初始化一维数组的定义:线性排列的一组数据,只有一个下标(索引)
2025-04-17 21:07:35
1477
原创 如何应对使用scanf时的非法输入
调用会直接读取到这个留在缓冲区里的非数字字符,从而导致持续的读取失败,让程序陷入一种不符合预期的状态。就无法把输入转换为整数,读取操作就会失败,并且这个非数字字符会留在输入缓冲区里。,从而导致后续的输入操作受到影响。:清理输入缓冲区可以让程序回到正常的输入等待状态,等待用户重新输入有效的数据。时,它期望用户输入一个整数。读取失败时,非数字字符会留在输入缓冲区里。函数,把输入缓冲区里的字符逐个读取出来,直到遇到换行符。调用会直接读取到这个非数字字符,导致持续的读取失败。若不清理输入缓冲区,后续的。
2025-04-16 18:49:04
555
原创 《C 语言函数实用指南:新手快速上手的必备攻略》
1.1 数学中的函数首先在数学中,函数描述了一种输入与输出的对应关系,通常表示为: y = f(x)定义:对于给定的输入 ( x )(自变量),函数 ( f ) 唯一确定一个输出 ( y )(因变量)。关键特性唯一性:每个输入对应唯一的输出(允许多个输入对应同一输出)。定义域与值域:所有可能的输入集合称为定义域,输出集合称为值域。1.2 计算机科学中的函数在编程中,函数是一段可重复调用的代码块,用于执行特定任务。组成输入(参数):传递给函数的数据。处理逻辑:函数内部的代码。输出(返回值)
2025-04-15 15:14:31
1029
原创 《趣学 C 语言:开启编程世界的奇妙之旅》
库函数就是为了避免重复常见的代码 提高编程效率 C语言标准规定了一组函数 这些函数组成了一个函数库 被称为标准库 里面的函数也被称为库函数 一个系列的库函数会声明在同一个头文件中 因此使用库函数需要包含对应的头文件6 什么是关键字c语言保留了一批符号和名字 如int if return等等 被称为保留字或关键字关键字有特殊含义 是给c语言使用的创建标识符时不可以和关键字重复关键字也是不能自己创建的。
2025-03-31 20:17:18
892
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人