- 博客(31)
- 收藏
- 关注
原创 数据结构背后的秘密:时间复杂度与空间复杂度详解
算法就是定义良好的计算过程,取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。
2024-10-11 09:58:32 1077 23
原创 文件处理不再难:带你轻松攻克C语言文件操作
函数名功能适用范围fgetc字符输入函数所有输入流fputc字符输出函数所有输出流fgets文本行输入函数所有输入流fputs文本行输出函数所有输出流fscanf格式化输入函数所有输入流fprintf格式化输出函数所有输出流fread二进制输入文件fwrite二进制输出文件。
2024-10-07 18:01:55 1191 36
原创 设计完美数据蓝图:玩转自定义结构体
/数值域int _value;//指针域}NewNode;位段的声明与结构体式类似,但是以下两点不同位段的成员必须是int、unsigned int 或者signed int,在C99中位段成员的类型也可以选其他类型.位段的成员名后边有一个冒号和一个数字.6.1.1:代码1struct Aint _a : 2;int _b : 5;int _c : 5;int _d : 5;
2024-09-04 09:45:27 723 29
原创 代码时光机:Git基础速成
在本地的git仓库中,有几个文件或者目录很特殊index:暂存区,git add后会更新该内容.默认指向master分支的一个指针.ref/heads/master:文件保存当前master分支的最新commit id.objects:包含了创建的各种版本库对象以及内容,简单理解就是放了git维护的所有修改.2.2:场景二在之前的学习,我们已经清楚了如何向仓库中添加文件、并且对于工作区、暂存区、版本库也有了一定的认识.那么博主再展示一种添加文件的场景,这样子能够加深对工作区、暂存区、版本库的理解.
2024-09-01 09:03:04 1100 31
原创 驾驭高效编程:一探C++ STL的奥秘
STL(standdard template library-标准模板库):是,不仅是一个可复用的组件库,2.:STL的版本2.1:原始版本Alexander Stepanov、Meng Lee在惠普实验室完成的原始版本,本就着开源的精神,他们声明能够允许任何人运用、拷贝、修改、传播、商业使用这些代码,无需付费.唯一的条件就是也需要向原始版本一样进行开源使用.
2024-08-26 18:53:54 616 28
原创 超级字符串技能:提升你的编码游戏
第⼀个参数指定⼀个字符串,它包含了0个或者多个由sep字符串中⼀个或者多个分隔符分割的标记。strtok函数找到str中的下⼀个标记,并将其用\0结尾,返回⼀个指向这个标记的指针.(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串⼀般都是临时拷贝的内容并且可修改)strtok函数的第⼀个参数不为 NULL,函数将找到str中第⼀个标记,strtok函数将保存它在字符串中的位置。strtok函数的第⼀个参数为 NULL,
2024-08-14 22:00:26 956 27
原创 幽微之处见真章:数据类型与内存存储的内在联系
在前面呢,博主已经介绍了基本的数据类型:char//字符数据类型 ---->占据1个字节short//短整型 ---->占据2个字节int//整形 ---->占据4个字节long//长整型 ---->占据4个字节long long。
2024-07-18 13:41:28 883 36
原创 类的优雅与对象的灵动:面向对象编程精粹(下)
class Datepublic://无默认构造函数的自定义类型成员变量时必须在初始化列表进行初始化:_t1(1)private://无默认构造函数的自定义成员变量Time _t1;
2024-07-10 11:39:12 1071 35
原创 类的优雅与对象的灵动:面向对象编程精粹(中)
类中如果没有涉及资源申请时,拷贝构造函数是否写都可以;但是一旦涉及到了资源申请,那么此时拷贝构造函数一定要写,否则就是浅拷贝.为了提高程序效率,一般对象传参时,尽量使用引用类型,因为自定义类型在传值传参时会调用拷贝构造函数,返回时根据实际场景,能使用引用尽量使用引用.将const修饰的"成员函数"称之为const成员函数,const修饰类的成员,实际上是修饰该成员函数的this指针,表明在该成员函数中不能对类的任何成员函数进行修改了解了其基本概念后,接下来,我们来看几段代码。
2024-05-24 15:51:59 1127 59
原创 指针进阶(三)
void * 是无具体类型的指针.void * 类型的指针能够存放任意数据类型的地址.void *类型的指针不能对其进行解引用操作,也不能进行 +-整数的操作.
2024-05-07 11:46:54 1387 55
原创 类的优雅与对象的灵动:面向对象编程精粹(上)
C++中类的定义和C语言中结构体的定义方式是一样的,只是C++中更比较倾向于使用class关键字//类体:由成员函数以及成员变量构成.class为定义类的关键字,className为类的名字,{}为类的主体PS:和C语言一样,注意类定义结束时后面的分号不能省略哦~类体中内容为类的成员:类中的变量可以被称为类的属性或成员变量;类中的函数被称为类的方法或成员函数.3.1:类的定义方式一(声明与定义全部放在类体中)类有两种定义方式,第一种方式是声明与定义全部放在类体中;
2024-04-14 22:01:25 1108 50
原创 C++入门(下)
int& ra;return 0;通过观察上面这段代码,我们可以清晰地发现,引用在使用时必须进行初始化即指明实体.权限能够平移,缩小,但权限不能够放大权限放大---->指针和引用赋值才存在权限的放大.表达式的结果是个临时变量,临时变量具有常性.1:类型难于拼写2:含义不明确导致容易出错.那么C++中则提出了auto关键字.使用auto修饰的变量,是具有自动存储器的局部变量。
2024-03-21 16:26:11 1117 38
原创 指针进阶(一)
数组指针是指针还是数组呢?答案是指针,是一个指向数组的指针.在之前我们已经熟悉了> 整型指针:int * ptr;指向整型数据的指针.浮点型指针:float * ptr;指向浮点型数据的指针.那么数组指针即指向数组的指针.下面我们来看一段代码,看看哪个是数组指针的表达方式.上面这段代码p1和p2分别是什么呢?答案是:相信uu们对于p1很熟悉了,p1是指针数组,数组里头存放的数据类型都是整型指针p2是数组指针,指向的是一个int类型的数组.那么为什么数组指针要这样子来表达呢?原因是这样子滴.
2024-03-01 15:05:53 1163 41
原创 C++入门(上)
C语言是一门面向过程的语言,是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种的新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。
2024-02-11 19:22:46 1904 34
原创 C语言操作符
文章目录1:算术操作符2:移位操作符(移动的是二进制序列中的补码)2.1:知识补充(原码,反码,补码与二进制)2.2:左移操作符(<<)2.2:右移操作符(>>)2.2.1:逻辑右移2.2.2:算术右移3:位操作符(运算用的是二进制位的补码)3.1:按位与操作符(&)3.2:按位或操作符(|)3.3:按位异或操作符(^)4.赋值操作符4.1:复合赋值符5:单目操作符5.1:逻辑反操作符(!)5.2:正值,负值操作符(+ -)5.3:取地址操作符和解引用操作符(& *)
2024-01-31 22:36:01 1690 30
原创 C语言数组
如果左边的元素大于右边的元素,那么这两个数就进行交换,直到该元素到达自己应该所处的位置,这是一趟冒泡排序,但是这里有10个数呀,要进行9趟冒泡排序,并且每次进行一趟冒泡排序后,趟数要减少,因此就要使用双层的嵌套循环来进行实现!其实二维数组的访问也是通过下标的形式去访问的,二维数组是有行和列的,只要锁定了行和列就能唯一锁定数组中的一个元素。C语言规定数组中的每个元素是有对应的下标的,下标是从0开始的,假设数组有n个元素,最后一个元素的下标识n-1,下标就相当于数组元素的标号。
2024-01-12 14:32:04 1374 28
原创 [内功修炼]函数栈帧的创建与销毁
我们在写C语言代码的时候,经常会把一个独立的功能封装在一个函数中,因此,C程序是以函数为基本单位的,那函数是如何调用的呢?函数的返回值又是如何带回呢?函数的参数又是如何传递的呢?这些都与函数的栈帧有关系。函数栈帧就是用来函数在调用过程中在程序的调用栈所开辟的空间,这些空间是用来存放:(1):函数参数和返回值(2):临时变量(包括函数的非静态区的局部变量以及编译器自动产生的其他临时变量)(3):保存上下文信息 (包括在函数调用前后需要保持不变的寄存器)。
2023-12-25 19:55:58 1465 23
原创 C语言函数
在数学中,函数是一种关系,它将一个或多个输入值映射到唯一的输出值。而在咱们计算机编程语言中,也有函数这么一说,维基百科对于函数的定义:**子程序**(1):在计算机科学中,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成,它负责完成某项特定的任务,而且相较于其他代码,具有独立性,可以重复使用。(2):函数一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。
2023-10-26 17:18:28 636 38
原创 分支与循环语句
(1):表达式语句;(2):函数调用语句;(3):控制语句;(4):复合语句;(5):空语句咱们这一讲后面介绍的是控制语句哦!如果整型表达式的值与case的整型常量表达式的不匹配则执行default里面的语句;因此defalut子句可以放在switch语句中的任何位置。while循环中的break是用于永久终止循环的。while循环中的continue是用于终止本次循环即本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
2023-10-04 22:55:58 346 36
原创 C语言初识
C语言是一门通用的计算机编程语言,就好比我们人与人之间的交流可以有中文,英文等等语言来作为桥梁,那么同理,C语言也可以作为我们与电脑之间进行沟通的桥梁,C语言被广泛用于底层开发。C语言是一门面向过程的计算机编程语言,与C++,java,python等面向对象的语言有所不同,很多其他编程语言都是在C的基础上进行衍生的,像python的解释器就是用C语言写滴。变量:可发生改变的值;像我们生活中的名字,价格,日期等等。常量:不可发生改变的值;像我们生活中的身份证,性别,血型等等。int main()
2023-09-01 23:11:28 450 22
原创 第一篇博客
(3):学习编程的方法:通过使用Typora软件进行markdown笔记,并且使用Xmind软件梳理相关的知识体系,同时每周发一篇博客对本周的知识进行梳理,毕竟学习的最高境界是能够教会别人,除此之外能够在空闲时间阅读相关的编程书籍。(1)自我介绍:嘿嘿,家人们,大家好呀,我来自湖南长沙,就读于计算机科学与技术专业,从今天起我会陆续发布编程相关的知识,希望家人们阅读了之后能够带来收货呦。(4):学习编程时间:每天至少花3个半小时的时间在学习编程上,学习编程的最好捷径就是没有捷径,踏踏实实地一步一步努力学。
2023-08-17 15:49:17 218 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人