自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C语言】内存函数详解与模拟实现

函数 memcpy 从 source 的位置开始向后复制 num 个字节的数据到 destination 指向的内存位置。若 ptr1 中的值大于 ptr2 中的值,则返回大于0的数字,若 * ptr1 == * ptr2,则返回0。它和 memcpy 的差别就是 memmove 函数处理的源内存块和目标内存块是可以重叠的。今日元宵佳节,好诗配好码,祝愿各位在花灯耀眼、乐声盈耳的元夕盛况中,寻觅到那一位立于灯火零落处的孤高女子。memset 是用来设置内存的,将内存中的值以字节为单位设置成想要的内容。

2025-02-12 23:00:22 226

原创 【C语言】字符串函数的模拟实现大全

如果 source 指向的字符串的长度小于 num 的时候,只会将字符串中到 \0 的内容追加到 destination 指向的字符串末尾。该函数时将 source 指向字符串的前 num 个字符追加到 destination 指向的字符串末尾,再追加⼀个 \0 字符。查找 str2 是否在 str1 中出现,若是,则返回起始元素地址。五颜六色的生活,不能乱七八糟的过。友友们,你们很棒了,加油!

2025-02-11 09:00:00 483

原创 【C语言】指针5——回调函数

回调函数(Callback Function)是一种常见的编程模式,本质是将一个函数作为参数传递给另一个函数,并在特定事件发生、条件满足或任务完成后被调用。它的核心思想是 “由外部定义逻辑,由内部决定何时执行”,常用于异步编程、事件处理等场景。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。

2025-02-10 09:00:00 400

原创 【C语言】指针4——函数与指针

其中第一个 int 表示这个函数的返回值是 int 类型的,(int, int)表示两个参数的定义,* 表示 pf1 是一个指针变量,指向 Add 函数。如果我们要将函数的地址存放起来,就得创建函数指针变量咯,函数指针变量的写法和数组指针是非常类似的。这表示 parr 是一个存放着 3 个函数指针变量的数组,每个指针变量指向的函数,返回值是 int,参数是(int, int)思路:我们把函数的地址装到一个函数指针数组里,通过访问函数指针数组来调用不同的函数,所以相同的代码只使用一份便可以。

2025-02-09 09:00:00 898

原创 【C语言】指针3——数组与指针(超级详解!包懂)

由前面的内容可知,arr[i] 可改写为 * (arr + i),我们刚刚分析了,arr 在这种情况下表示首元素地址,则 arr + i 表示的就是第 i 行的地址,每一行都是一个一维数组,因此arr + i,表示的是某个一维数组的地址,对它解引用,即 * (arr + i),就得到了这个一维数组。同理 arr[i] 应该等价于 * (arr+i),数组元素的访问在编译器处理的时候,也是转换成首元素的地址 + 偏移量求出元素的地址,然后解引用来访问的。&arr 取出了整个数组的地址,放到一个数组指针里去。

2025-02-08 09:00:00 1537

原创 【C语言】指针2——高级指针

const 在 * 的左边,说明 const 是用来修饰 *p 的,*p 不能被改变,保证指针指向的地址所存放的值不能通过指针来改变,但指针指向的地址是可以被改变的。因为 p 存放着 a 的地址,所以 p 的值是 0000009484F3FA14,解引用拿到 a 的值,所以 *p 是 5。因为 m 存放着 p 的地址,解引用拿到 p 的值,所以 *m 是 5,则再解引用,拿到 a 的值,所以 **m 是 5。所以我们使用指针前,先用 assert 断言检测指针的有效性,就可以避免野指针的出现。

2025-02-07 09:00:00 1442

原创 【C语言】指针1——基础(超级详解包懂)

计算机内存(Memory)是用于临时存储程序和数据的硬件设备,CPU可直接访问,是计算机运行时的核心工作区域。CPU处理数据时,从内存中读取数据,处理后的数据也会放回内存中。它是外存与CPU沟通的桥梁,所有程序的运行都在内存中进行。通俗易懂地讲,内存是程序运行的舞台,指针是操作内存的工具。

2025-02-06 09:00:00 747

原创 【C语言】扫雷(从零开始介绍扫雷游戏及代码实现,无递归)

今天从零开始介绍扫雷游戏及代码实现。

2025-01-27 10:13:49 872

原创 【C语言】循环结构超级详解

虽然 goto 语句尽显神奇,但我们应该尽量避免 goto 语句的使用,goto 语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程。这个乘法表打印到n * 5就停止了,说明当j == 5时,break终止了本层循环,而外面的for 循环还在进行,所以打印 n + 1的乘法。我们学习了 while,for,do-while 循环,这三种循环往往会嵌套在一起才能更好的解决问题,亦即循环嵌套,上代码。不管当前循环还需要循环多少次,只要执行到了 break ,循环就彻底终止。

2025-01-19 18:11:47 960

原创 【C语言】选择结构超级详解

比如火焰柚子不久前参加了C语言期末考试,如果火焰柚子的分数>=90,则会得到一个A,如果80<=分数<90,则会得到一个B,如果60<=分数<80,则会得到一个C。,所以实际上 else 是与第二个 if 匹配的,后面的 if-else 语句其实是嵌套在第一个 if 语句里的。在 if 语句中,若条件式为假,则跳过后面的语句1,执行下一条语句。而对于 if-else 语句,若 if 后的条件式为假则执行else后的语句2,执行结束后再顺次执行下一条语句。一个复合语句是包含在大括号之间的一个以上的语句。

2025-01-18 19:37:55 743

原创 梦开始的地方

梦开始的地方

2025-01-18 09:05:14 205

空空如也

空空如也

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

TA关注的人

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