自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 带环链表的相关问题

本篇文章将解释如何去判断链链是否带环即原理以及寻找入环点。如上图所示,在一个单链表的基础上,在链表的后一部分形成了一个循环链表,也就是说一个单链表的尾节点的next没有指向NULL而是指向了一个循环链表。

2024-04-29 19:30:51 212

原创 C语言实现贪吃蛇小游戏>附源代码

贪吃蛇

2024-04-28 22:18:52 770

原创 单链表 结合画图分析 附源代码

在C语言中,链表是一种非常重要且常用的数据结构,它可以动态地存储和管理数据。链表由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针。相比于数组,链表的大小可以动态地增长或缩小,这使得链表在很多场景下更加灵活和有效。

2024-04-11 22:52:17 703 1

原创 顺序表讲解 及 源代码

/方便后续类型的替换int size;//有效的数据个数//空间大小}SL;//也可以用typedef struct SeqList SL;

2024-04-03 20:56:06 1151 1

原创 c语言的编译和链接

C语言代码经过编译以后,会变成了二进制形式的目标文件(Object File)--- 对于 Visual C++,目标文件的后缀是。,这些组件都是程序运行所必须的。例如我们要在屏幕中输出字符,这必须调用系统提供的库才能够实现。是指用源语言写的,有待翻译的程序,如我们自己写的一段c++代码,源程序通过翻译程序加工以后生成的机器语言程序。但此时的代码还不能运行起来。不管我们编写的代码有多么简单,都必须经过。首先我们需要知道的两个概念,对应的各个阶段处理的文件的。这是计算机可以理解的语言。

2024-03-28 19:12:08 466

原创 C语言文件操作

C语言是不仅可以处理内存中的数据,还可以与外部文件进行交互。以下是C语言中的文件操作,包括文件的创建、打开、读取和写入等基本操作。

2024-03-27 11:46:03 1104

原创 结构体相关知识

结构体是C语言中一种非常实用的数据类型,它可以将不同的数据类型组合在一起,形成一个有机的整体。本文介绍了结构体的相关知识,包括结构体类型、结构体变量的创建和初始化,以及结构体中的内存对齐等内容,并给出了相关示例,帮助更好地理解和掌握结构体在C语言编程中的应用。

2024-03-20 10:48:00 638 1

原创 整型数据和浮点型数据在内存中存放的方式

C语言中的浮点型数据,如`float`和`double`,在内存中的存放方式和整型数据有所不同。在大端序系统中,高位字节存储在内存的低位地址上,而低位字节存储在内存的高位地址上;指数位 (8位): 127 (对于float类型指数 占8位, 表示 0-255之间的数值,指数有一个偏移量127来辅助方便判断指数的正负,所以实际存储的是127 + 1 = 128,二进制为10000000)在内存中,浮点数的存储是二进制形式的,按照IEEE 754标准的格式进行排列。这里,`1.01`是尾数,`1`是指数。

2024-03-18 13:30:32 1099

原创 菜鸟理解和使用realloc函数

我们以字符串数组举例,正常情况下我们定义一个字符串数组比如 char str[5] 是属于静态储存,字符串的长度是我们自己设定的,这就会出现两个问题:当我们把长度设置的太短,那就会出现不够用,如果设置太长就会用不完剩余太多. 那我们通过reallock就可以实现动态储存,扩大字符串分配的内存。在原字符串内存后面的空间被使用过,没有足够的空闲空间给str1扩大。那么就使用堆中的第一个能够满足这一要求的内存块,将目前的数据复制到新的位置,并将原来的数据块释放掉,返回新的内存块地址位置,str地址会改变。

2024-03-15 15:38:54 360 1

原创 C语言模拟实现strlen,strcmp,strcat,strcpy,strstr函数

strcmp(str1,str2)函数在比较两个字符串时不是比较长度,而是比较从左到右比较每个字母的ASCii码值,如果先出现了str1比str2的ASCii码大的字符着返回一个大于0的数字,反之返回小于0的数字。将str1和str2传给strcat函数时,函数会先找到str1结尾‘\0’的位置,再把str2的内容从头到尾抄到str1上。strstr(str1,str2)函数用于查找str2在str1出现的位子,返回值为str1首次出现str2的地址。下面是递归的方式,思路和上面的一样。

2024-03-13 13:49:46 348 1

原创 C语言指针的基本用法和理解

在我们的计算机中,大量的数据储存在内存当中,在如此多的数据里如何进行高效的管理呢?总结起来,C语言中的指针是一个非常强大的工具,它允许我们直接操作内存地址,实现高效的内存管理和数据操作。指针的类型决定了指针所能指向的数据类型,以及指针进行算术运算时的步长(即每次移动的内存地址大小)。相同的,我们也可以在开辟的同一块内存空间中用指针减指针等操作,其代表的含义就是这两个指针之间数据元素的个数。C语言中的指针是一个非常重要的概念,它允许我们直接操作内存地址,从而实现更高效的内存管理和数据操作。

2024-03-07 16:33:18 317 1

原创 c语言扫雷游戏代码的实现

如果没有则在mine棋盘内对玩家输入的坐标进行判断是否为内,如果是雷则游戏结束,如果不是我们将这个坐标周围的位置类的数量进行判断,通过一个get_mine_count来统计数量。在玩家选择一个格子查询时如果没有雷自动向周围的八个格子查询雷的数量,因此会出现一个问题,在对最上,下,左,右一行查询时会越界,因此我们对存放雷的棋盘应在周围多处出来一行。以9*9的棋盘为例,你需要一个11*11的棋盘。设置的计数器win当成功选中一个不是雷的位置后就加1,但加到9*9-10(没有雷的位置的个数)后,游戏胜利。

2024-02-02 16:45:42 320

原创 C语言中的分支循环语句

为了优化嵌套循环的性能,可以使用一些技巧,例如将内层循环变为一个函数,或者使用break和continue来跳过不必要的循环。for循环首先执行initialization,然后检查condition是否为真,如果为真则执行内部的代码块,然后执行update,再重复这个过程。C语言中的分支循环语句是编程中非常重要的部分,它们决定了代码的执行流程。switch语句会根据expression的值与各个case后面的value进行比较,如果匹配则执行相应的代码块,然后通过break跳出switch语句。

2024-01-29 16:14:39 331

原创 梦开始的地方

大家好,我叫小刘,这是我第一次使用并写博客。目前是一个二本大一学生,专业是通信工程选择了网络与交换方向。自从在学校大一开始接触c语言的课就让我体会到了它的魅力。希望以后在csdn上学习到更多有用的知识。

2024-01-21 19:59:01 323

空空如也

空空如也

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

TA关注的人

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