自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态内存管理

这部分内容在前面C++内存管理的章节里有提到过一遍,原本是应该这里C语言的先讲解的,也算姗姗来迟了吧,其实内容也几乎差不多,这里就进行简单的讲解。1. 栈区(stack):在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。栈区主要存放运行函数而分配的局部变量、函数参数、返回数据、返回地址等。《函数栈帧的创建和销毁》

2024-11-30 19:47:27 1089

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

联合体和枚举类型

2024-11-28 22:56:44 666

原创 自定义类型:结构体

位段的声明和结构是类似的,有两个不同:1. 位段的成员必须是 int、unsigned int 或signed int ,在C99中位段成员的类型也可以 选择其他类型。2. 位段的成员名后边有一个冒号和一个数字。例如:A就是一个位段类型。那位段A所占内存的大小是多少?

2024-11-26 17:20:17 674

原创 数据在内存中的存储

其实超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储,下面是具体的概念:大端(存储)模式:是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存在内存的低地址处。小端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,保存在内存的高地址处。上述概念需要记住,方便分辨大小端。

2024-11-24 13:58:28 807

原创 C/C++内存管理

注意:在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与 free不会。new的原理1. 调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造 return (p);} /* operator delete: 该函数最终是通过free来释放空间的delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作2. 调用operator delete函数释放对象的空间new T[N]的原理。

2024-11-24 13:27:49 592

原创 类和对象(下)

无论是否显示写初始化列表,每个构造函数都有初始化列表;无论是否在初始化列表显示初始化成员变量,每个成员变量都要走初始化列表初始化(static修饰的静态成员除外);

2024-11-21 00:01:19 728

原创 字符函数和字符串函数

1. 字符分类函数2. 字符转换函数3. strlen的使用和模拟实现4. strcpy的使用和模拟实现5. strcat的使用和模拟实现6. strcmp的使用和模拟实现7. strncpy函数的使用8. strncat函数的使用9. strncmp函数的使用10. strstr的使用和模拟实现11. strtok函数的使用12. strerror函数的使用

2024-11-19 17:05:42 1145

原创 类和对象(中)

默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。一个类,我们不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不重要,我们稍微了解一下即可。其次就是C++11以后还会增加两个默认成员函数,移动构造和移动赋值,这个我们后面章节再讲解。默认成员函数很重要,也比较复杂,我们要从两个方面去学习:• 第一:我们不写时,编译器默认生成的函数行为是什么,是否满足我们的需求。

2024-11-18 06:00:00 1512

转载 类和对象(上)

• class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省 略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或 者成员函数。• 为了区分成员变量,一般习惯上成员变量会加一个特殊标识,如成员变量前面或者后面加_ 或者 m 开头,注意C++中这个并不是强制的,只是⼀些惯例,具体看公司的要求。

2024-11-17 15:15:34 797

原创 C++入门基础(初阶版)

C++英文名Cplusplus,顾名思义就是C语言的最高级的最高级版本,也就是说,C++可以兼容C语言,C++课程包含:C++语法、STL、高阶数据结构,目前前面所讲解的都是初阶部分,主要为语法部分,可能有一部分不理解,看不懂的情况,不要紧,因为要一步一步来,在讲解的过程中会牵扯到后面的内容,而后面的内容,又不因没学过不能理解,所以对于一些难以理解的部分到了后期自然而然就会理解。最重要的一点是。

2024-11-10 21:39:55 622

原创 深入理解指针(4)

1. 回调函数是什么?2. qsort使用举例3. qsort函数的模拟实现

2024-11-09 22:44:41 162

原创 深⼊理解指针(3)

1. 字符指针变量2. 数组指针变量3. ⼆维数组传参的本质4. 函数指针变量5. 函数指针数组6. 转移表

2024-11-08 00:55:53 1151

原创 深⼊理解指针(2)

1. 数组名的理解2. 使用指针访问数组3. ⼀维数组传参的本质4. 冒泡排序5. ⼆级指针6. 指组7. 指针数组模拟⼆维数组

2024-11-05 19:16:23 926

原创 深⼊理解指针(1)

目录:1. 内存和地址2. 指针变量和地址3. 指针变量类型的意义4. const修饰指针5. 指针运算6. 野指针7. assert断言8. 指针的使用和传址调用。

2024-10-14 00:15:12 740

原创 操作符详解

操作符精讲

2024-10-12 21:56:49 1270

原创 函数的递归

递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢?递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。写⼀个史上最简单的C语⾔递归代码:上述就是⼀个简单的递归程序,只不过上⾯的递归只是为了演⽰递归的基本形式,不是为了解决问 题,代码最终也会陷⼊死递归,导致栈溢出(Stackoverflow)。

2024-10-07 03:46:31 940

原创 数组和函数实践:扫雷游戏

⽬录1. 扫雷游戏分析和设计2. 扫雷游戏的代码实现3. 扫雷游戏的扩展。

2024-10-05 14:23:14 1138 1

原创 C语言:数组

1. 数组的概念2. ⼀维数组的创建和初始化3. ⼀维数组的使⽤4. ⼀维数组在内存中的存储5. sizeof计算数组元素个数6. ⼆维数组的创建7. ⼆维数组的初始化8. ⼆维数组的使⽤9. ⼆维数组在内存中的存储10. C99中的变⻓数组。

2024-09-29 21:33:02 3694

原创 分⽀和循环(下)

对于一位新手来讲,在学习过分支和循环(上)之后,相信C语言的一些简单操作在屏幕前的你眼里,已经是手拿把掐了,接下来我们就可以在学习之余,通过认识一个简单的函数(rand,不认识的不要紧,在后面就会知道这很简单,先跟着博主来),来实现猜测随机数这样一个娱乐游戏。注:以下内容对新手来讲有点难理解,若是不能理解,可以先跳过,等之后学完指针或者函数再回过头来看看)1. 电脑⾃动⽣成1~100的随机数2. 玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束。

2024-09-27 13:56:34 839

原创 分⽀和循环(上)

C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实 现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种 结构的组合。我们可以使⽤ if 、 switch 实现分⽀结构,使⽤for 、 while 、 do while 实现循环结构。

2024-09-26 00:32:22 994

原创 首次遇见博客

学习尚未结束,同学仍需努力

2024-09-24 18:51:31 152

空空如也

空空如也

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

TA关注的人

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