自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言修炼——代码的底层原理?编译与链接?预处理详解

C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。__FILE__ //进行编译的源文件__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义如上,__LINE__打印的结果是这条语句当前所在的行号;__DATE__打印的结果是文件被编译时的年月日;__TIME__打印的结果是文件被编译时的详细时间,包括小时、分钟与秒。而FILE。

2024-04-20 19:37:10 832 1

原创 C语言修炼——什么是流?什么是文件?什么是文件操作?

磁盘(硬盘)上的⽂件是⽂件。但是在程序设计中,我们⼀般谈的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类的)。上⾯说的适⽤于所有输⼊流⼀般指适⽤于标准输⼊流和其他输⼊流(如⽂件输⼊流);所有输出流⼀般指适⽤于标准输出流和其他输出流(如⽂件输出流)。

2024-04-18 18:10:58 832 1

原创 C语言修炼——还不会结构体,联合体与枚举?学习这一篇就够了

/代码1:变量的定义int x;int y;}p1;//第一种结构体变量的创建方法——声明类型同时定义变量p1//第二种结构体变量的创建方法——声明类型后,定义结构体变量p2//代码2:初始化。//创建了一个struct Point类型的结构体变量并初始化struct Stu //类型声明//名字int age;//年龄//第一种初始化结构体变量的方法——不指定按成员变量前后顺序初始化//第二种初始化结构体变量的方法——指定成员变量初始化(可乱序)

2024-04-16 21:26:27 794

原创 C语言修炼——内存函数与数据的存储

函数memcpy从source的位置开始向后复制num个字节的数据到指向的内存位置与source所指向内存空间中存储的两段数据的类型互不相干,数据在内存中的存储都是以二进制文本的形式,memcpy是从字节的层面复制所有的二进制信息这个函数在遇到'\0'的时候并不会停下来,而是复制完指定的字节数如果source和有任何的重叠,复制的结果都是未定义的为了避免overflows,需要确保与source指向的数组的大小至少为num对于重叠的内存,需要用memmove进行复制memcpy。

2024-04-14 17:20:30 948 1

原创 C语言修炼——还不会的字符函数和字符串函数给你一次讲明白!

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,接下来我们就学习⼀下这些函数。的模拟实现需要注意,我们应该在两字符串相同位序下字符不同的时候去比较,所以我们可以直接用一个循环结构遍历字符串,直到遇见相异字符或。中,⽽⼀个错误码的数字只是一个整数,我们很难理解其代表的含义,所以每⼀个错误码都是有对应的错误信息的。语句判断的作用其实是节省内存,提高效率。,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会将对应的错误码,存放在。

2024-04-13 18:41:03 1583

原创 C语言修炼——还不会指针?一次讲明白!最终弹!!

回调函数本质就是被函数指针调用的函数。回调函数有什么用呢?我们先来看一段代码:可以看出上述代码显得比较冗余:那么有什么方法能改进呢?这里就用到了回调函数。我们使用回调函数就可以用最简洁高效的代码根据情况灵活的调用特定函数解决特定问题。代码改进后:二、qsort使用举例在排序算法中,我们常见的有冒泡排序,选择排序,插入排序,快速排序,希尔排序等,而是基于快速排序的可以直接用来排序数据的库函数。上图是的一些介绍主要有这么几点我们需要特别关注一下:有四个参数、、、。这四个的含义分别是排序的数据所占

2024-04-11 23:06:45 988 1

原创 C语言修炼——还不会指针?一次讲明白!第二弹!!

显然二维数组中存储的是一维数组,那每个元素,即每个一维数组应该也有自己的地址。由此,我们可以借用指针数组,存储每个一维数组的首元素的地址,通过指针数组结合指针运算与解引用操作,我们既可以找到需要的一维数组,也可以找到对应一维数组中的所有元素。类型的大小(地址的大小在x86(32位)环境下是4个字节,在x64(64位)环境下是8个字节),此处是x86环境,所以第二行的结果是1,如果在x64环境下则结果为2。所以,根据数组名是数组⾸元素的地址这个规则,⼆维数组的数组名表⽰的就是第⼀⾏的地址,是⼀维数组的地址。

2024-03-28 23:21:33 756 1

原创 C语言修炼——还不会指针?一次讲明白!第一弹!!

内存、地址与指针有什么关系?指针变量是什么?指针变量类型有什么意义?指针变量的大小是多少?const的作用?指针的三种运算方式:指针加减整数、指针-指针、指针的关系运算;野指针有哪些情况?如何避免野指针?assert有多么好用!如何正确使用assert断言?指针的传值调用和传址调用是什么?

2024-03-21 23:24:16 957 1

原创 C语言修炼——汉罗塔问题与函数递归

汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把所有圆盘移到另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且一次只能搬动一个圆盘。问应该如何操作搬动次数最少?

2024-02-12 01:34:54 708 1

原创 C语言修炼——扫雷游戏?冲冲冲!!!

承接上文的数组与函数篇的知识,这里结合随机数,给出了简化版的扫雷游戏,从玩法、设计到代码实现的全过程,希望能帮助大家完全掌握上一篇的所有知识。当然,如果学有余力,大家可以根据本篇最后的‘分析总结’一小节里提供的思路完成游戏的扩充与完善。在这里给出扫雷游戏的网页版链接:https://www.minesweeper.cn/,大家可以自行搜索先试玩。到此为止,我们就完成了扫雷游戏简化版的实现,其实都是我们上一篇的内容配合一两个零碎的知识点而已。

2024-01-31 19:43:17 1761

原创 C语言修炼——数组与函数全析!!!

本篇包含了几乎所有数组与函数所需掌握的基础知识,篇幅较长。初学者需要耐心观看;同时,掌握本篇知识后推荐进入本篇的专栏,阅览《C语言修炼——扫雷游戏?冲冲冲!!!》,并完成项目实操,让自己对知识的掌握更上一层楼,或借此与本篇结合反复回看,弄清不通之处。ret_type fun_name(形式参数) {ret_type是函数返回类型fun_name是函数名( )中的是形式参数{ }中的是函数体我们可以将函数想象成做菜,食材是参数,函数(子程序)的结果是菜。

2024-01-31 04:34:44 1319

原创 C语言修炼——三大结构之循环结构!!!

for循环、while循环、do_while循环。

2024-01-26 21:48:57 998

原创 C语言修炼——三大结构之分支结构!!!

我们通常使用if或switch语句实现分支结构。

2024-01-26 15:48:38 764

原创 C语言修炼——三大结构之顺序结构!!!

顺序结构是C语言程序中最基本的一种结构,是从上至下,从头至尾的一种线性的结构,注意这个线性也可以是曲线。我将借助一个游戏案例来帮助大家了解这种结构。

2024-01-26 08:00:00 265

原创 初入IT——我的想法与规划

职业发展的简单规划

2024-01-16 20:13:41 343 1

空空如也

空空如也

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

TA关注的人

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