自定义博客皮肤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)
  • 收藏
  • 关注

原创 动态内存管理

涉及到动态内存分配,在数据结构学习中就会看见malloc这个函数,在cpluspplus网站中:这个函数向内存中申请一块连续可用的地址,并返回指向这片空间的指针如果开辟成功,则返回一个指向这块空间的指针如果开辟失败,则返回一个NULL指针返回值是void*(只知道申请多大的空间,不知道存放什么类型的数据)如果参数size为0,malloc的行为标准是未定义的,取决于编译器。////检查,并返回错误信息return 1;//访问开辟的40个字节int i = 0;

2024-05-25 19:44:26 855 1

原创 C语言自定义类型

位段(Bit field)是一种在编程语言中允许程序员以位为单位来指定数据的存储方式和长度的结构。它通常用于在数据结构中对空间进行优化,尤其是当需要处理只有几个位的数据字段时,比如在嵌入式编程中。在C语言中,位段的定义是通过结构体(struct)来实现的,允许你为结构体的成员指定具体的位数。1. 位段的成员可以是 int unsigned int signed int 或者是 char (属于整形家族)类型2. 位段的空间上是按照需要以4个字节( int )或者1个字节( char )的方式来开辟的。

2024-05-19 15:33:26 697 1

原创 字符串函数的使用与模拟

对于想了解一个C/C++的函数,我们可以访问网站,在里面进行查询函数的使用方式以及功能描述,我就把网站的描述贴在下面了:strlen是初始化的长度,并非存放字符串的空间长度。使用方式是字符串的长度取决于strlen是否识别到null字符(也就是\0),stlren会返回在字符串中出现'\0'前面的字符个数,在使用这个函数时要注意这一点。那我们来验证一下,请看如下代码int main()return 0;

2024-04-16 16:31:37 1791 2

原创 指针的进阶(2)

我们假定需要实现的排序数据为整形,将void*强制类型转换为char*,是因为char类型大小被定义为1字节,通过转换char*,我们可以实现对任意指针指向的地址进行访问,只需要知道我们所需类型的所占字节大小。以上代码对于计算器基础功能的实现,就是利用了回调函数,将加减乘除的函数地址作为参数,存放在Calc函数中,再通过Calc函数进行调用。,与其他的具体返回类型的指针不同,void*没有具体的指针类型,可以接受任意类型的地址传入,在函数一章中,我们我们认识到了冒泡排序,以下是冒泡排序的实现代码。

2024-03-22 17:20:27 468 2

原创 指针的进阶

内存会划分为一个个内存单元。每个内存单元都有一个独立的编号 — 编号也称为地址。地址在C语言中也称为指针。指针(地址)需要存在 — 存储在变量之中,这个变量称之为指针变量。指针的大小是固定的4/8个字节(32位平台/64位平台。地址是物理电线上产生的,32位机器 — 32根地址线 — 1/032个0/1组成的二进制序列,把这个二进制序列作为地址,32为bit位才能存储这个地址所以指针变量大小也就是4个字节。64位机器同理。

2024-03-12 21:05:59 1738 2

原创 实用类调试技巧

在我们写代码的时候,我们写出的代码可能不会一次性就完成我们的要求,也可能会执行错误,需要我们去修改,顺着踪迹寻找错误以及修改,即为调试。那我们应该如何去调试呢?Debug通常称为调试版本,它包含调试信息,并且不做任何优化,以便于调试程序Release称为发布版本,它往往是经过了各种优化,使得程序在代码大小与运行速度上都是最优解,以便用户更好的使用。F5启动调试,经常用来直接跳到下一个断点处。F9创建断点和取消断点断点的重要作用,可以在程序的任意位置设置断点。

2024-01-29 15:49:36 833

原创 C语言指针

1.指针是内存中一个最小单元的编号,也就是地址2.平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量内存空间将自身分为最小单位 字节 来对自身进行管理 当要使用空间时,按照所使用的空间大小,分配于所使用的程序。如何寻找到目标空间?划分成为了字节的小空间有所对应的唯一编号,这个编号称之为地址——又称为指针。上图是一个简单的使用方法,此刻,pa便是存放了变量a的地址。总结来说:指针就是地址 (存放在指针中的值都当作地址处理)地址是如何产生的?

2024-01-24 18:29:34 1649 2

原创 顺序表的基本操作

线性表时具有相同特性的数据元素的一个有限序列。该序列所含元素的个数叫做线性表的长度,用n表示,n>=0。是一种在实际中广泛应用的数据结构:顺序表,链表,栈,队列........在逻辑上是 线性结构,每个数据元素由逻辑序号唯一确定,(但是在物理结构上斌不一定是连续的)线性表在物理上的存储时,通常以数组或者链式结构的形式存储。

2023-11-27 19:20:03 396 5

原创 时间复杂度与空间复杂度

算法的分析就是分析算法占用计算机资源的多少。分析占用CPU时间的多少称之为时间性能分析。其目的是分析其性能以便改进算法。一个算法所花费的时间与其中语句的执行次数成正比例,则上述代码的时间复杂度F(n)= N^2+2*N+10for循环嵌套执行,则执行频度位N^2,第三个for循环需要执行到2N,则频度为2N。同理得到while循环的执行频度。

2023-11-25 19:45:24 342 1

原创 C语言数组

在一般的学习路径中,C的数组学习便会有冒泡排序的相关代码演示以及描述。而在数组中运用冒泡排序法时,首先来说明数组作为函数参数的情况。例如代码运行结果如下:但是总会有意外我们用sizeof函数,这时arr数组会输出什么样的结果?整型每个所占字节数为4,十个数便是用了40个字节,可得这是的代表了整个数组的大小再例如如下代码执行的结果为:这里是十六进制,我们稍作转换:由此我们可知 arr+1 的地址直接跳过了arr整个数组的地址。以上就是一般数组作为参数的几种情况,现在我们可以景入正题了。

2023-10-24 00:19:53 78 4

原创 C语言数组

一系列数据类型相同的元素组成的集合。

2023-10-22 00:55:04 58 7

原创 初识C语言

C语言是一门。

2023-10-15 18:11:39 50 1

原创 C语言(函数)

自定义函数是使用者自己定义的函数体,同样有函数名,返回值类型和函数参数。是由使用者自己设计。用函数来交换两个数//tmp=a*pa = *pb;int b = 0;printf("交换前:%d,%d", a, b);printf("交换后: %d,%d", a, b);return 0;其中 Swap是为了完成俩个数值交换自行实际的函数。

2023-10-14 18:04:17 55 1

空空如也

空空如也

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

TA关注的人

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