自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【数据结构】顺序表的应用

这里使用typedef函数来讲重命名为SLDateType是因为插入顺序表的数据不会是固定不变的,这么做也是为了方便后续管理和更新。

2024-07-14 21:01:25 706

原创 【数据结构】 顺序表专题

顺序存储的线性表称为顺序表,它的数据元素存放在一块连续的存储区里,数据间的逻辑关系由它们的存储顺序自然表示,即顺序表中数据元素的位置相邻,可以通过数组下标直接访问。链式存储的线性表称为链表,它的数据元素存储在不连续的存储单元中,每个数据元素包含数据和指向下一个数据元素的指针(单链表)或指针域(双链表)。顺序表(Sequential List)是一种线性表,它的特点是数据元素在内存中连续存放,每个元素都有固定的位置,可以通过下标或索引直接访问。这意味着静态顺序表的大小是固定的,一旦创建,其容量就不可更改。

2024-05-03 19:54:27 912 1

原创 文件操作详解

在计算机科学中,文件是存储在辅助存储设备(如硬盘驱动器、固态硬盘、光盘等)上的一组相关信息的集合。文件是操作系统管理数据的基本单位,它可以包含文本、图像、声音、视频或其他任何类型的数据。数据:文件的内容,可以是文本、图像、音频、视频或其他二进制数据。文件名:用于标识文件的字符串,通常包括主文件名和扩展名(如 “document.txt” 中的 “document” 是主文件名,“txt” 是扩展名)。属性:文件的一些元数据,如创建日期、最后修改日期、文件大小、文件所有者、访问权限等。文件类型。

2024-04-10 20:20:34 2027 1

原创 动态内存管理

与静态分配相比,静态分配在程序启动时就会占用固定大小的内存,这可能会导致内存浪费,特别是当分配的内存不是始终都需要时。如果新的内存大小比原来的大,那么额外的内存是未初始化的。:虽然动态内存分配可能会导致内存碎片,但是通过合理的内存管理策略,比如内存池和垃圾回收,可以减少内存碎片的问题。:动态内存分配提供了一种跨不同平台和系统的一致的内存管理方式,因为静态内存分配可能受到特定平台或系统的限制。在这种情况下,程序应该处理内存分配失败的情况,并且可能需要保留原来的内存块。但是对于空间的需求,不仅仅是上述的情况。

2024-04-08 15:58:28 1106

原创 结构体,联合体,枚举( 2 )

联合体(Union)是另一种复合数据类型,它允许我们在同一内存位置存储不同的数据类型,但在任意时刻只能存储其中一个类型的值。枚举(Enum)是一种特殊的数据类型,它允许我们定义一个由一组命名的常数组成的集合。仔细想想联合体的成员公用一个内存,那么给它赋值之后好像确实所有的成员值都会发生改变,换一种方式说,联合体调用哪个成员,哪个成员便会使用这块空间,就会输出你所赋的值。联合体的成员是公用同一块内存空间的,这样一个联合体变量的大小,至少是最大成员的大小(因为联合体至少得有能力保存最大的那个成员)。

2024-04-02 18:19:08 1785 7

原创 结构体,联合体,枚举( 1 )

在编程的世界里,数据结构的选择对于程序的效率和可读性有着至关重要的影响。不同的数据结构适用于不同的场景,能够帮助我们更好地组织和管理数据。在本文中,我们将探讨三种常用的数据结构:结构体(Struct)、联合体(Union)和枚举(Enum),它们在C语言及其衍生语言中扮演着重要的角色。

2024-03-28 23:05:51 1700 8

原创 数据在内存中的存储

是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存在内存的低地址处。是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存在内存的⾼地址处。由于在vs的环境下是小端存储,所以上述案例的存储是倒着的。

2024-03-24 14:01:10 708 2

原创 字符串函数

在 C 语言中,字符串被处理为字符数组。由于 C 语言没有专门的字符串类型,所以使用 char 类型的数组来表示字符串。为了方便对字符串进行操作,C 语言提供了一系列字符串函数。接下来小编就给大家普及一下C语言的字符串函数。

2024-03-19 23:40:30 2786 1

原创 qsort函数

很多小伙伴们都没有听说过qsort这个函数,qsort函数是C语言标准库中的一个排序函数,那么我们在使用它的时候就要在代码前包含它的头文件<stdlib.h>。快速排序是一种高效的排序算法,其平均和最坏情况下的时间复杂度分别为O(n log n)和O(n^2),但通过合理的选取中间元素作为基准(pivot),可以使得最坏情况的发生概率大大降低。根据qsort函数接收的参数规则来讲,p1大于p2返回一个大于0的数字,等于则返回0,小于则返回-1,在vs的编译环境下,大于0的数通常被用1来代替。

2024-03-12 20:32:15 2035 1

原创 C语言指针的初步认识--学习笔记(3)

在C语言中,字符串通常被视为字符数组,但它们可以有不同的表示方式。字符指针变量存储的是字符串的地址。这意味着,当你有一个字符串时,你可以通过改变字符指针的值来改变这个字符串,因为你实际上改变的是它指向的内存地址。这一个代码我们很容易理解为把字符串“hello word”放到字符指针pstr里,但是本质上是把字符串hello word”中的首个字符‘h’的地址放入了指针pstr里。

2024-03-05 21:36:31 2010

原创 C语言指针的初步认识--学习笔记(2)

这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,⽽且是数组⾸元素的地址,我们来做个测试。

2024-03-03 15:33:23 987

原创 C语言指针的初步认识--学习笔记(1)

在编程中,创建变量其实就是向内存申请空间,比如:上述的代码就是创建了整型变量a,内存中申请4个字节,⽤于存放整数10,其中每个字节都有地址,上图中4个字节的地址分别是:这些地址就是变量a在内存中随机申请的,任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。

2024-02-27 22:16:35 2860

原创 C语言操作符详解

C语言是一种广泛使用的编程语言,具有丰富的操作符集合。在这篇博客中,小编将详细介绍C语言中的各种操作符,帮助大家更好地理解和掌握这门语言。

2024-02-20 23:23:23 3065

原创 编程中VS调试技巧

当我们发现程序中存在的问题的时候,那下⼀步就是找到问题,并修复问题。这个找问题的过程叫称为调试,英⽂叫debug(消灭bug)的意思。调试⼀个程序,⾸先是承认出现了问题,然后通过各种⼿段去定位问题的位置,可能是逐过程的调试,也可能是隔离和屏蔽代码的⽅式,找到问题所的位置,然后确定错误产⽣的原因,再修复代码,重新测试。

2024-02-13 19:04:15 2064 1

原创 C语言函数递归

递归是C语言中一个强大的工具,能够解决许多复杂的问题。但是,在使用递归时,需要注意避免栈溢出、提高效率以及调试困难等问题。通过理解递归的基本原理和注意事项,开发者可以在实际编程中更好地使用递归。

2024-02-06 21:30:09 1962 1

原创 C语言打印菱形

看到这个图形里面有这么多的星号,首先我们想到的当然是利用循环来实现多次打印。从行数来看有13行,但是每一行的空格和星号的数量并不是随着行数的增加而增加的。根据右侧的数据来看,空格的数量和行数相加总是等于上半部分的总行数,那么在打印空格的循环里条件是不是就是<总行数-行数。那么写出来的代码就是这样的。和上半部分一样,下半部分也要装进表示总行数的大循环里,写出来的代码就是这样的。那么写出来的代码就是这样的。那么写出来的代码就是这样的。这两部分一起放入一个表示总行数的大循环里,写出来的代码就是这样的。

2024-02-04 22:20:34 1005 1

原创 C语言实现扫雷游戏

扫雷是一款经典的计算机游戏,目标是在一个方格网中找出所有没有地雷的方格,同时避免踩到地雷。以上便是game ( )函数里的实现功能的函数,有了这些函数那写出geme()函数是不是非常简单呢。这里可以写一个专门打印菜单的函数来实现,并在主函数内用switch分支语句来选择是否开始游戏。如果觉得这一大堆代码都放在一个文件里非常的繁琐,可以使用多个文件来存放游戏的功能。首先由主函数开始写起,碰到了哪些需要实现的功能,再依次实现。排查雷的同时也要将指定坐标周围8个坐标的雷的个数记录。game.h存放函数的声明。

2024-01-30 19:30:02 1347 1

原创 打印空心正方形

既然要打印出一个空心正方形,不妨先设法打印出一个实心正方形,在根据找到的规律,用if选择结构来确定是否打印出"* ",从而来实现打印空心正方形。此时已经可以打印出一个空心正方形了但是题目要求多组输入,再加上一个while即可实现。多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。针对每行输入,输出用“*”组成的“空心”正方形,每个“*”后面有一个空格。1.首先利用双循环嵌套i为行j为列打印出一个实心正方形。可知if结构的判定条件为。

2024-01-26 20:32:38 854 1

原创 C语言分支循环语句

C语言的分支和循环语句为我们提供了强大的控制能力,能够根据不同的条件执行不同的代码路径,或者重复执行代码直到满足某个条件。通过对这些语句的灵活运用,我们可以编写出功能强大且结构清晰的程序。在实际编程过程中,合理使用分支和循环语句,不仅能提高代码的执行效率,也能让程序逻辑更加清晰和易于维护。

2024-01-23 23:41:39 993

原创 编写程序数一下 1到 100 的所有整数中出现多少个数字9

思路:对于这个问题我们首先想到的是先利用循环游历一边1到100的所有数字,再在循环体内判断整数的个位或者百位是否会出现9,如果出现9则计数变量加1。num1用于统计个位上出现9的次数,num2用于统计十位上出现9的次数。如果是,那么num2变量增加1,表示十位上的9出现了num2次。3.在循环内部,首先判断当前整数i的个位是否为9。如果是,那么num1变量增加1,表示个位上的9出现了num1次。5.循环结束后,使用printf函数输出num1和num2的和,即1到100之间所有整数中数字9出现的总次数。

2024-01-22 20:33:45 534

原创 解决vs中C4996问题

解决方法在报错的英文中也有提到Consider using scanf s instead. To disable deprecation, use CRT SECURE NO WARNINGS即在使用scanf函数的.c文件的第一行加上。scanf` 函数在C语言中是一个非常有用且常用的输入函数,但是我们在使用scanf函数的过程中经常会出现报错。此时就会出现vs中编号C4966的编译错误。例如一个非常简单的向数组arr传递字符串。

2024-01-20 20:59:58 510

原创 我的编程之路——初探IT世界的自我介绍和学习计划

我相信,通过合理安排时间,我能在编程领域取得更好的成果。阿里巴巴作为全球领先的电商平台,拥有卓越的技术实力和广泛的影响力。进入阿里巴巴,不仅意味着能与一流的工程师共事,还能参与到改变世界的项目中。我相信,在阿里巴巴的工作经历将对我的编程生涯产生深远的影响。总之,我将以编程为目标,努力学习,不断提高自己的技能。希望在未来的某一天,我能实现自己的梦想,成为一名优秀的程序员。我对编程充满热情,希望能在未来的职业生涯中充分发挥我的编程技能。我相信,通过不断学习和实践,我能在编程领域取得骄人的成绩。

2024-01-16 19:39:27 332 1

空空如也

空空如也

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

TA关注的人

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