自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法复杂度

在学习了c语言相关的知识后,接下来我们就要进行数据结构的学习,在此学习的是初阶数据结构,我们将掌握顺序表、链表、栈和队列、⼆叉树、常见排序算法等内容;高阶数据结构如图、哈希表、红黑树等数据结构将在C++中学习。初阶数据结构中我们将继续使用C语言来实现基础的数据结构,在掌握数据结构的同时巩固了刚结束的C语法知识,因此在学习初阶数据结构过程要求我们要拥有扎实的c语言基础,如果还未完成c语言基础知识的学习或者是对c语言还有困惑,可以继续阅览。,接下来就开始本篇的学习吧!

2024-07-22 17:53:07 963 64

原创 双向链表专题

在此在实现节点时定义一个结构体struct ListNode来表示结构体的节点,在其内部有三个成员变量,第一个是一个整型变量data来表示节点中存放的数据信息,第二个是一个结构体指针来存放上一个节点的地址,第三个是一个结构体指针来存放下一个节点的地址。在NewNode函数内在使用malloc申请内存空间后就将要存入的数据赋值给节点中的data,并且要在创建新的节点后就要使得该节点是循环的,这就要让newnode内的next指针和prev指针都指向该新节点。接下来就开始双向链表专题的学习吧!

2024-07-13 22:40:56 1098 74

原创 单链表专题

1.链表的概念及结构在之前的中我们了解了。所以以上的分析表明顺序表是存在较大的缺陷的,那么是否有更好的方式实现顺序表相同的功能呢?答案是有的,,本篇就将解析链表的结构是什么样的;以及如何实现链表让其也能实现数据的增、删、查、改,接下来就开始链表的学习吧!

2024-07-07 00:36:22 1325 82

原创 顺序表应用——通讯录

1.实现通讯录前功能的分析在本篇之前的我们已经学习的顺序表的实现,了解了如何实现顺序表的插入和删除等功能,那么在本篇当中就要学习基于顺序表来实现通讯录,在通讯录当中能实现联系人的增、删、查改等功能,接下来就让我们一起来实现通讯录吧!

2024-06-30 17:57:47 1319 69

原创 顺序表专题

在之前的C语言学习中我们已经深入理解了函数、指针、结构体、动态内存等知识点,在本篇中将利用这些知识点来实现顺序表,接下来就开始顺序表概念的了解以及学习顺序表各部分的原理,一起加油吧!!!

2024-06-26 14:57:29 1390 73

原创 深入理解预处理

C语言设置了⼀些预定义符号,可以直接使用,预定义符号也是在预处理期间处理的。2. #define 定义常量 基本语法:思考:在define定义标识符的时候,要不要在最后加上 ; ? 在一些情况下加上代码不会有什么太大的问题,但在一些情况下就会使代码出现错误例如: 在以上代码程序就会出现以下报错这时因为在预处理之后代码就变为以下形式 通过以上代码就可以了解到使用#define后不要在在最后加上 ;#define 机制包括了⼀个规定,允许把参数替换到文本中,这种实现

2024-06-19 23:29:14 1547 64

原创 编译和链接

1.翻译环境与运行环境在本篇中将对程序的执行流程有一个基本的认识与了解,重点学习翻译环境中的几大过程,希望通过本篇的讲解能让你对代码到程序的转化有基本的认识,一起加油吧!!!1.翻译环境与运行环境计算机只能识别二进制的信息,而我们用c语言写成的代码都是文本信息,所以要想把c语言的代码执行就需要把文本信息转换为二进制信息在 ANSI C的任何⼀种实现中,存在。第1种是,在这个环境中源代码被转换为二第2种是,它用于实际执行代码。1.2 翻译环境。

2024-06-15 23:59:08 1217 68

原创 C语言——文件操作

在之前我们写的程序中当程序结束,内存就被回收数据就丢失了,那么在计算机中的那些需要保存写下的数据时,只把数据写到内存当中就无法一直保留,如果要将数据进行持久化的保存这时就需要再将数据传输到磁盘(硬盘)的文件上。这本篇中我们就来了解文件是什么、有哪些类型的文件,以及学习在程序中实现文件的读和写,还有实现读和写相关的函数,相信看完本篇的讲解能对文件有一定的认识,加油吧!!!

2024-06-12 16:23:32 1563 62

原创 动态内存管理

在本篇当中我们将对动态内存相关的知识进行学习,了解malloc,calloc等函数的作用以及学习如何使用这些函数,并且避免一些常见的动态内存中的错误,还有学习柔性数组是什么,有什么作用。接下来就开始本篇的学习吧!!!

2024-06-09 23:32:40 1812 65

原创 自定义类型:枚举和联合体

也可以用define来定义常量,当这种方式相比枚举类型就使得可读性下降了,在此的define定义的就没有明确的意义,且定义红的作用域是整个工程,如果我们只是想在一部分使用就无法实现。在之前我们已经深入学习了自定义类型中的结构体类型 ,了解了结构体当中的内存对齐,位段等知识,接下来在本篇中将继续学习剩下的两个自定义类型:枚举类型与联合体类型,一起加油!联合的成员是共用同一块内存空间的,这样⼀个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员),因此联合体也叫共用体。

2024-06-06 13:48:53 1345 49

原创 C语言——内存函数

在src

2024-06-05 17:09:53 1929 55

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

在学习完指针相关的知识后将进入到c语言中又一大重点——自定义类型,在之前学习操作符以及指针时我们对自定义类型中的结构体类型有了初步的了解,学习了结构体类型的创建以及如何创建结构体变量,还有结构体成员操作符的使用,现在我们将继续结构体相关知识的学习,希望在在看完本篇后你将会有新的收获,一起加油吧!!!

2024-06-02 19:27:39 1417 63

原创 数据在内存中的存储

这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着⼀个字节,⼀个字节为8bit 位,但是在C语⾔中除了8 bit 的 char 之外,还有16 bit 的 short 型,32 bit 的long 型(要看具体的编译器),另外,对于位数⼤于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于⼀个字节,那么必然存在着⼀个如何将多个字节安排的问题。这时,浮点数就采用下面的规则表示,即指数E的计算值减去127(或1023),得到真实值,再将有效数字M前加上第一位的1。

2024-05-31 17:25:49 1381 55

原创 字符函数与字符串函数

在实现strstr的过程中str1表示目标查找字符串的首元素的地址,str2表示要查找的字符串首元素的地址,但由于在遍历过程中需要多次从找到第一个元素相同时在查找从这个位置开始的是否和查找目标相同,因此就再创建了。,当我们在使用标准库中的函数的时候发生了某种错误,就会将对应的错误码,存放在errno中,而⼀个错误码的数字是整数很难理解是什么意思,所以每一个错误码都是有对应的错误信息的。• 如果src指向的字符串的长度小于num的时候,只会将字符串中到\0 的内容追加到dest指向的字符串末尾。

2024-05-27 23:34:54 1757 65

原创 深入理解指针(5)

3. 指针运算笔试题解析在之前的中我们学习了回调函数相关知识,并且学会了如何使用库函数qsort,以及模拟实现了qsort,接下来在本篇中将对srtlen和sizeof进行细致的讲解,并对相关的题型进行讲解,一起加油吧!!!

2024-05-26 01:54:17 1719 66

原创 整型提升与算数转换

表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度⼀般就是int的字节长度,同时也是CPU的通用寄存器的长度。如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类型,否则操作就无法进行。下面的层次体系称为寻常算术转换。由于在vs中char编译器默认为signed char,所以a和b都是按照变量的数据类型的符号位来整形提升的。中的a和b的值被提升为普通整型后然后再执行加法运算,加法运算完成之后,结果将被截断,然后再存储于a中。

2024-05-21 23:48:15 1405 38

原创 深入理解指针(4)

1.回调函数在学习之前的深入理解指针(3)中我们对字符指针以及函数指针,函数指针数组等知识进行了深入的理解,并且使用这些知识了解了二维数组传参的本质;利用函数指针数组实现转移表,现在将继续学习指针更多的知识,一起加油吧!!!1.回调函数回调函数就是。如果你把函数的作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

2024-05-19 23:33:12 1344 98

原创 深入理解指针(3)

列可以省略,这是因为形参接收的是一个数组指针,只知道传过来的数组有几个元素,形参内的列没有意义,写上只是便于理解。,存放的元素类型是整形,是一个指针数组,所以正确的写法是先让p与*结合使得p是一个指针变量,这就需要将p用括号括起来,通过之前的学习我们知道数组是一个存放相同类型数据的存储空间,所以可以得出函数指针数组是指数组内的。1.在以上代码中是将运算函数的地址存放在数组内,通过数组的下标就可以找到相应的运算函数,总结:二维数组传参,形参的部分可以写成数组,也可以写成指针形式,但形参本质接收的是指针。

2024-05-18 14:26:47 1173 66

原创 深入理解指针(2)

1. 数组名的理解在上一篇深入理解指针(1)中我们已经初步了解指针地址;指针的解引用;指针变量类型作用,指针运算等知识,接下来我们将继续学习指针的相关内容,一起加油吧!!!1. 数组名的理解在之前的学习中我们知道可以将一串数字存放在整形指针当中,而且指针在内存当中存放是连续的,就可以通过取地址的方式找到数组当中想要的元素在之前还提到过在函数实参中数组名表示首元素的地址,那在指针中这样规律是否还适用呢?通过以上代码发现&arr[0]与arr的地址是相同的,因此可以得出那是在所有条件下都成立吗?

2024-05-15 13:09:38 1617 80

原创 assert断言

1.assert断言介绍1.assert断言介绍1.使用方法assert.h 头头件定义了宏,用于在运行时确保程序符合指定条件,如果不符合,就。这个宏常常被称为。例如在以上代码中就可以用assert断言来替代if语句assert() 宏接受⼀个表达式作为参数。如果该表达式为真(返回值非零,程序继续运行。如果该表达式为假(返回值为零),,在标准错误流(屏幕上) stderr 中写入⼀条,显示没有通过的表达式,以及包含这个表达式的真如以上所示,当assert后表达式为假时候就会。

2024-05-12 21:00:32 1104 50

原创 深入理解指针(1)

在之前我们学习了许多c语言的基础知识,让我们初步了解了c语言,接下来将来到c语言中一个重点的知识章节--,学习完指针后将会让我们对c语言有更深入的理解,接下来就开始指针的讲解在了解内存与地址前,先来看一个生活中的案例我们都知道当到一个陌生的楼房里时,,如果这个楼房很大通过去查找将会是一个快速找到的方法,如果得到房间号,就可以快速的找房间在生活中有了门牌号就可以快速找到房间,大大提升了效率如果把上面的例子对照到计算机中,又是怎么样呢?

2024-05-11 22:59:59 1560 58

原创 c语言常用操作符(2)

​移位操作符分为注:移位操作符的操作数只能是整数,同时移位操作符移动的是存储在内存中的二进制位(也就是补码)同时移位操作符不要移动负数位,这个是标准未定义的。1.

2024-05-08 17:00:38 1629 79

原创 c语言刷题——输出图案

题目:请打印用“*”组成的X形图案多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。针对每行输入,输出用“*”组成的X形图案。输入:5输出:* ** ** ** *输入:6输出:* ** ****** ** *

2024-05-04 16:49:51 1473 36

原创 c语言——函数

库函数很重要但在c语言中更重要的是自定义函数,有了自定义函数我们才能写出不一样的代码,让我们更具有创造性。我们可以把函数想象成小型的⼀个加工厂,工厂得输入原材料,经过工厂加工才能生产出产品,那函数也是一样的,函数⼀般会输入一些值,这些值也就是参数(可以是0个,也可以是多个),经过函数内的计算,得出结果。在以上某年某月有多少天的程序中就实现了函数的定义与调用如果将自定义函数放在main函数后会发生什么呢?这时我们就会看到以下警告出现这种情况的原因是。

2024-05-02 23:07:48 1388 27

原创 c语言刷题——求出0~100000之间的所有“水仙花数”并输出

首先我们要了解什么是“水仙花数”,,如:153=1^3+5^3+3^3,则153是一个“水仙花数”注:在本文章中在实现各功能时采取了调用自定义函数的方法,这会使得程序主函数更加简洁因此我们应该如何实现以上的功能呢?1.首先要遍历0~100000所有的整数要使用到循环语句,为了使代码看上去更简洁,在本篇的代码中用到的是2.在遍历过程中要得到数的位数,可以调用3.在遍历过程中还要得到各位数字的n次方之和,这就也要调用4.判断的返回值是否会等于该数本身,若。

2024-04-27 23:42:16 652 15

原创 用c语言实现扫雷游戏

在学习c语言一段时间后,在掌握以及!!

2024-04-24 18:54:06 1155 12

原创 c语言中的循环语句

在c语言的循环语句里有do while语句while语句for语句。

2024-04-16 21:36:22 752 7

原创 c语言中的分支语句

在c语言中可用和实现选择结构其中if语句用来实现的选择,switch用来实现的选择结构。

2024-04-13 23:46:43 914 5

原创 c语言常用操作符(1)

在c语言中如% / * + -等都是算数操作符,并且这些操作符都是双目操作符(注:双目操作符是包含两个操作数的,位于操作数两边)+和-操作符是用来分别执行加法和减法运算的 以下代码是这两个操作符使用一个举例输出结果为11, 3*操作符是用来执行乘法运算的 以下代码是这两个操作符使用一个举例d1 d2输出依次为50 ,14.520000%和/操作符是用来分别用来执行除法和求模运算的在含%的表达式中计算结果是两个整数的余数,注意该操作符只能用于整数不能用于浮点数的计算。

2024-04-12 14:18:04 1054 7

原创 编程学习记录

我准备先从c语言开始,在此之后再进一步学习了解c++/JAVA,之后在学校完计算机网络,数据结构,操作系统等专业课后 再选择自己的研发或测试方向 最后确定自己工作是开发还是测试,或者算法等其他方向。本人在高中期间不知道为啥而学习十分倦怠导致高考成绩拉跨,只考上了一个二本的学校 现在到了大学逐渐明白了我为何而学习 现在正在努力学习计算机基础知识中。这个学期一定把c语言学好 能了解掌握c语言的基本知识与原理,同时还要在平时多打代码,不能只听课不练习,最后在项目实践上做好 先定这一个短期的目标。

2024-03-30 01:17:07 273 5

空空如也

空空如也

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

TA关注的人

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