自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 链表经典问题

例如:一共有5个人,报到2的人离开,1开始报数,1->1,2->2,2离开;接着继续从下一个人开始重新报数,也就是从3开始,3->1,4->2,4离开......依次类推,直到剩下最后一个人。

2024-05-16 17:38:01 343

原创 顺序表的实现

的概念:线性表是指具有相同元素数据类型的有限序列。线性表包括 顺序表,链表,栈,队列,字符串等等。(1)线性表在逻辑结构上是线性的,也就是一条直线。(也就是我们人为想像它是线性的)。它在逻辑结构上是l线性的,在物理结构上也是线性的。(2)线性表在物理结构上不一定连续。通常以数组和链式结构存储。可以理解为,顺序表是对线性表的封装,实现了增删查改等接口。又是敲代码的一下午!10,在指定位置之前插入数据。2,顺序表的概念:顺序表是。9,删除指定位置数据。

2024-05-13 17:35:32 165 1

原创 栈(c语言实现)

1,栈:一种特殊的线性表,其只允许在一端进行数据的插入和删除,这一端称为栈顶,还有一端就称为栈底。栈中的数据元素遵循后进先出的原则。压栈:栈的插入操作,也叫做进栈,入栈,所插入的数据在栈顶。出栈:栈的删除操作,所删除的数据在栈顶。2,栈的结构。

2024-05-09 15:23:14 293

原创 数据结构----单链表

头文件SListNode.h,用来声明各种函数和包含所需的头文件。源文件SListNode.c,用来实现所声明的函数。源文件test.c,作为测试文件,测试所写的方法。

2024-04-15 13:43:48 359 3

原创 自定义类型——结构体类型

这是一个匿名结构体类型,没有名字,直接创建一个结构体变量s,如果这样创建,就不能再创建其他的结构体变量。结构体的自引用可以理解为上图的方式,先存放一个整形变量,再存一个结构体指针,该指针指向下一个结构体。4,如果存在了结构体嵌套,嵌套的结构体成员存到自己成员最大对齐数的整数倍处,最后结构体的大小是。3,结构体的总大小为最大对齐数(每个成员都有一个对齐数,所有对齐数中最大的)的整数倍。最大对齐数(每个成员都有一个对齐数,所有对齐数中最大的)的整数倍。//d只占30个比特位。//b只占5个比特位。

2024-03-31 19:17:36 248 1

原创 浮点数在内存中的存储

我们知道,对于整数,它在内存中是以二进制补码的形式存储的。如果通过整数的存储形式,上述代码运行结果是9 9.000000 9 9.000000结果并非如此,我们可以知道,浮点数和整数的存储形式是不同的。

2024-03-17 11:44:17 821 2

原创 内存操作函数

由图可以看出,当dest>scr时,数据需要从前往后拷贝,才能达到效果,若是从后往前拷贝,会使数据被覆盖而达不到想要的效果。memset是内存设置函数,将内存中的值以字节为单位设置成想要的内容,这里的num是以字节为单位的。和memcpy相比,memmove函数处理的两个数据可以是重叠的。将3,4,5,6,7这5个元素拷贝到1,2,3,4,5。比较从ptr1和ptr2开始,向后的num个字节的大小。这里,从前往后拷贝时,是和memcpy函数一样的。

2024-03-14 21:42:03 342 2

原创 指针3--C语言

传参时传的是arr数组名,数组名表示首元素地址,二维数组的首元素地址是第一行元素的地址,可以看作是一个一维数组的地址,因此,在形参部分,使用一个数组指针接收。这组代码,可以理解为将字符数组"hello word"的首元素地址放在字符指针变量str中,这是一个常量字符串,不能被修改,所以在前面加上了const修饰。这里通过一个函数指针数组,进行对四个函数的调用,这四个函数是返回类型相同,函数参数也相同,所以可以放在一个函数指针数组里。函数指针变量,存放函数地址的指针变量。2,函数指针变量的使用。

2024-03-12 15:44:08 317 1

原创 指针2——C语言

数组指针的定义,首先它是一个指针,就得先于“*”结合,证明他是一个指针,再与[10]结合,这证明他所指向的对象是数组。从上述代码中,可以看出交换前后变量a,b的值并未发生交换,我们在将变量a,b的值传给swap函数后,x,y接受到a和b,在swap函数内部,x,y成功交换,而a,b未交换。对指针变量p2来说,它先于*结合,证明他是一个指针,再与int*结合,证明它所指向的对象是整形指针类型,是一个二级指针。因此,x,y只是a和b的一份临时拷贝,通过改变x,y,对a和b的值没有影响。

2024-03-03 20:48:26 802 1

原创 指针1---C语言

比如,p1是整形指针,在加1后,跳过4个字节,也就是一个整形变量的大小;然而在上述代码中,a的地址被存在一个字符指针变量中,是可以存下的,然而在解引用p访问a时, 因为p是字符指针类型(char*),所以只能访问一个字节,这时就无法实现对a的更改。这里p是整形指针变量,存放整型变a的地址,再解引用操作后,访问4个字节的大小,刚好是整形变量a的大小,再赋值20,就把a的值改为20;左边,const修饰*p,*p所指向的对象不能更改,但p可以更改,也就是说p可以存放其他变量的值,不能改变它所指对象的值。

2024-03-01 22:08:56 773 1

原创 C语言实现简单扫雷游戏

这时,用数字来表示“雷”的个数的意义就体现出来,当求某个格子周围“雷”的个数时,直接将周围数字加起来就可以了。4,棋盘的设计,考虑到要将格子周围数加起来,为了防止再加的时候出现越界,所以对数组扩大一圈,扫雷的区域:行ROW,列COL,而设计的是:行ROWS,列COLS。扫雷游戏如下:规则大致是,打开一个格子,每个格子的数字代表已该格子为中心,四周存在雷的个数,如果所打开的格子是“雷”,则输。2,接下来就是对棋盘的设计,我们用‘1’来表示“雷”,‘0’表示不是雷。2,该部分完成后,开始设计游戏内容。

2024-01-30 21:43:21 343

原创 【C语言】分支语句与循环语句

C语言程序设计结构包括:1.顺序结构2.选择结构3.循环结构C语言语句大致可以分为3类:1.分支语句:也叫选择语句,if语句,switch语句2.循环语句:for循环,while循环,do...while循环3.转向语句:break语句,continue语句,goto语句二、分支语句(选择语句)2.1if语句的语法形式如下:if(表达式)语句 //如果循环体想要包含多条语句,可以加上大括号if(表达式1)语句1else语句2if(表达式1)语句1。

2024-01-23 22:37:49 285

原创 我的第一篇博客

在C语言的学习过程中,我发现了自己对编程的兴趣,所以我的目标是学好C语言,不断提高自己。同时在学完C后,我还要学数据结构,还有其他的语言。我知道学好这一门技术不是一蹴而就的,只有每一次的坚持才能学好,所以我每天会坚持学习1~2小时,独自练习敲代码,坚持每周写一次博客。我在大一上学期已经学过C语言,但是学得不扎实,就想继续学习,学好基础,达到精通,我也会一直坚持下去的。我希望自己可以坚持下去,实现自己的目标,同时也祝各位可以实现自己的目标。我的目标是进入像华为,腾讯,网易这样的大厂,我会为了我的目标而奋斗。

2024-01-17 11:35:09 357

空空如也

空空如也

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

TA关注的人

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