![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
xw的c之旅
文章平均质量分 72
我是晓伍
此人很懒
展开
-
常见字符串函数实现
今天模拟实现了一些c语言中stirng.h头文件中的常见函数。1.memmove与memcpy作用:把一段内存的内容移动到另一段内存中和复制内存内容到另一端内存中。void* myMemmove(void* dest, const void* src, size_t count){ assert(dest && src); if (src > dest) { //向前拷贝 - 从前拷贝 for (int i = 0; i < count; i++) {原创 2021-09-27 18:39:15 · 187 阅读 · 1 评论 -
二叉树三种遍历(先序,中序,后序)----超详细
介绍二叉树的遍历有许多种,例如深度优先搜索,广度优先搜索,在这里,我只介绍先序,中序,后序三种的递归与非递归遍历方法。原创 2021-07-29 16:07:55 · 3395 阅读 · 0 评论 -
搞定kmp算法
介绍在计算机科学中,Knuth-Morris-Pratt字符串查找算法(简称为KMP算法)可在一个字符串S内查找一个词W的出现位置。一个词在不匹配时本身就包含足够的信息来确定下一个匹配可能的开始位置,此算法利用这一特性以避免重新检查先前匹配的字符。以上都是屁话,在c语言中,实现此功能的库函数叫做strstr,它被放在了string.h头文件中,这个函数的功能,用白话说就是给定一个主字符串和副字符串,之后再主字符串中找到副字符串。例如:字符串s = abcdefgg;字符串t = cdef;多余的原创 2021-06-18 00:44:07 · 592 阅读 · 5 评论 -
你知道这两个C语言小知识吗?
文章目录前言一、局部变量和全局变量二、C语言常量总结前言这两个C语言中需要注意的小知识你都了解了吗一、局部变量和全局变量局部变量和全局变量的区别,通俗的说,就是局部变量在花括号内部,而全局变量在花括号外部,那么这样会引出一个问题-局部变量和全局变量的作用域分别是哪?我们说:局部变量的作用域也就是局部变量的范围,换句人话就是它所在的花括号内,如下所示:int main(){ {//1 int a = 100; printf("%d\n", a); }//2 //大括号外不能再用原创 2021-06-05 14:36:01 · 1086 阅读 · 7 评论 -
一个现在的小菜鸡的自述
我是一个来自普通高校计算机专业的计算机学生,来到csdn主要是为了能够记录自己提升代码能力的过程,想着以后要是复习或是回忆起来都会比较方便。对于变成原创 2021-06-02 22:35:53 · 2119 阅读 · 23 评论 -
数据结构--单链表的实现(c语言实现)
C语言中动态链表的实现原创 2021-05-31 00:25:31 · 386 阅读 · 3 评论 -
leetcode刷题day4
本题来源于206. 反转链表题目如下:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000思路我的思路是从A开始,通过改变指向来实现翻转:首先,要把这个链表倒过来,我们需要原创 2021-05-26 23:47:00 · 182 阅读 · 1 评论 -
数据结构--顺序表的实现(c语言实现)
最近终于开始学数据结构了,开个坑记录一下首先,顺序表是一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:1.静态顺序表:使用定长数组存储。2.动态顺序表:使用动态开辟的数组存储。我实现的就是一个动态顺序表。首先要思考这个鬼东西要能做什么,增删查改这肯定是必须的了,其他的接口我依次列出://初始化void SeqListInit(SL *ps);//破坏顺序表void SeqListDestory(SL *ps)原创 2021-05-25 19:41:31 · 2676 阅读 · 0 评论 -
strlen()函数的模拟实现
在c语言中,strlen()函数储存在string.h头文件中,作用是计算一个字符串的字符数。实际上,这个函数内部运行中检测到\0则停止运行,之后返回字符数。下面我们通过三种方法模拟实现该函数的功能。1.计数器法代码如下#include <stdio.h>int myStrlen(char *p){ int count = 0; //开始假设字符串中字符数为0 while (*p != '\0') { count++; //p解应用得到的不是原创 2021-05-07 18:57:47 · 169 阅读 · 0 评论 -
c语言实现简易版扫雷
这个小项目源自两个月前学数组的时候,由于觉得比较重要,想记录一下。首先,大概的思路是要做出两个二维数组充当棋盘,一个用于后台储存雷的情况,一个用于打印给玩家玩游戏那么第一步我们知道,需要声明两个二维数组,一个打印出来给用户看,一个自己深埋在心里。第二步应该是要埋雷,这里我们可以定义几个数值去让玩家选择埋雷的数量。第三步也就是最难的扫雷部分了,我的思路是,首先玩家先输入一个坐标,我们再对玩家输入的坐标找到对应藏雷的数组,若此坐标就是雷,则反馈玩家游戏结束,若不是雷,则计算周围九宫格的雷数,并以数字的形原创 2021-05-06 17:37:13 · 374 阅读 · 0 评论 -
c语言指针学习初步
指针,英文名pointer,从名字看出指针大概是指向什么东西。在计算机科学中,指针(pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中的另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,讲地址形象化的称为"指针"。意思是通过它能找到以它为地址的内存单元。我们可以提取出来:指针是用来存放地址的,指针大小在32位平台上占4个字节,在64位平台上占8个字节,因为地址是由地址线产生的,在32位平台上有32条地址线产生32个1原创 2021-05-05 22:11:18 · 334 阅读 · 2 评论