- 博客(37)
- 收藏
- 关注
原创 C++编程之路:类和对象(下)
默认构造,此时必须使用初始化列表初始化•⽤static修饰的成员变量,称之为静态成员变量,静态成员变量⼀定要在类外进⾏初始化。•静态成员变量为所有类对象所共享,不属于某个具体的对象,不存在对象中,存放在静态区。【因为像函数等其他类型在文件编译和链接的过程中会生成相应的符号表,而静态成员变量这一过程是不会进入符号表的所以静态成员变量为所有类对象所共享,此时为了防止其在不同的类中同时使用我们一般在类中声明在类外定义(初始化)】•。
2025-03-25 22:41:21
569
2
原创 C++类和对象(上)
A和B的成员变量是不同的,地址是不同的。为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者m开头(有的可能采用驼峰式),注意C++中这个并不是强制的,只是⼀些惯例,具体看公司的要求。编译器编译后,类的成员函数默认都会在形参第⼀个位置,增加⼀个当前类类型的指针,叫做this指针。class为定义类的关键字,后面跟着的是类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省。类定义了⼀个新的作⽤域,类的所有成员都在类的作⽤域中,在类体外定义成员时,需要使⽤ :: 作。
2025-03-14 11:59:05
986
2
原创 C++编程之路:C++入门
•缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调⽤该函数时,如果没有指定实参则采⽤该形参的缺省值,否则使⽤指定的实参,缺省参数分为全缺省和半缺省参数。(有些地⽅把缺省参数也叫默认参数)•全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值。C++规定半缺省参数必须从右往左依次连续缺省,不能间隔跳跃给缺省值。•带缺省参数的函数调⽤,C++规定必须从左到右依次给实参,不能跳跃给实参。•函数声明和定义分离时,缺省参数不能在函数声明和定义中同时出现,规定必须函数声明给缺省值。
2025-03-09 14:39:04
831
1
原创 每日精讲:链表的回⽂结构,相交链表,环形链表I,环形链表II
方法一(同上)slow⼀次⾛⼀步,fast⼀次⾛3步,fast先进环,假设slow也⾛完⼊环前的距离,准备进环,假设此时fast。slow⼀次⾛⼀步,fast⼀次⾛2步,fast先进环,假设slow也⾛完⼊环前的距离,准备进环,假设此时fast。和slow之间的距离为N,因为接下来的追逐过程中,每追击⼀次,他们之间的距离缩⼩1步,所以它们的最大距离就是N。和slow之间的距离为N,因为接下来的追逐过程中,每追击⼀次,他们之间的距离缩⼩2步,所以它们的最大距离就是N。指针再次到达,则链表中存在环。
2025-03-04 12:50:59
832
原创 线性表之链表一
目录一 链表1概念:2结构:2.1结点3链表的性质4链表结构的实现5 链表的分类5.1单向/双向带头/不带头/循环/不循环分别指什么二 单链表(不带头单向不循环链表)1单链表结构:2手动实现单链表3单链表中涉及到的方法:三 双向链表(带头双向循环链表)1结构2实现双向链表及其涉及的操作四顺序表与链表的分析。
2025-03-04 02:17:28
756
原创 每日精讲:删除有序数组中的重复项,移除元素,合并两个有序数组
1题目链接:27. 移除元素 - 力扣(LeetCode) 2题目描述: 给你一个数组 和一个值 ,你需要 原地 移除所有数值等于 的元素。元素的顺序可能发生改变。然后返回 中与 不同的元素的数量。 假设 中不等于 的元素数量为 ,要通过此题,您需要执行以下操作: 示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2,_,_]解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元
2025-02-23 15:16:29
1107
原创 线性表之顺序表
目录一 线性表1概念:2分类3特点二 顺序表1概念2结构3分类4静态线性表(4.1结构4.2静态顺序表缺陷5 动态顺序表(利用动态内存管理实现内存的变化)5.1结构【因为动态顺序表的空间是变化的所以这里相当于静态顺序表多了一个用于存储空间大小的变量】5.2动态顺序表中涉及到的方法:【初始化和销毁头/部插⼊删除/ 尾部插⼊删除///指定位置之前插⼊删除/打印数据】
2025-02-16 21:44:43
836
1
原创 算法与数据结构——复杂度
数据结构是计算机存储、组织数据的⽅式数据增加、删除数据、查找数据、改写数据),指相互之间存在⼀种或多种特定关系的数据元素的集合。因为没有⼀种单⼀的数据结构对所有⽤途都有⽤(即现时中我们可能遇到多种问题不同的问题适合不同的数据结构解决),所以我们要学各式各样的数据结构,如:线性表、树、图、哈希等。
2025-01-16 04:03:15
1214
原创 ⽂件操作详解
⽬录一 文件操作的引入二⽂件的打开和关闭三⽂件的顺序读写6.⽂件的随机读写7.⽂件读取结束的判定8.⽂件缓冲区一 文件操作的引入1 为什么使⽤⽂件?为了如果我们没有文件我们写的程序的数据其实是存储在电脑的内存中,当我们程序一退出,内存回收,数据就会丢失,等再次运⾏程序,就看不到上次程序的数据。2 什么是⽂件?是⽂件。2.⽂件名⼀个⽂件要有,以便⽤⼾。⽂件名包含3部分:⽂件路径+⽂件名主⼲+⽂件后缀例如:为了⽅便起⻅,⽂件标识常被称为。
2024-11-30 23:52:19
1307
1
原创 ⾃定义类型:联合和枚举
联合体类型的声明/定义/赋值像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所以联合体共⽤体。给联合体其中⼀个成员赋值,其他成员的值也跟着变化。声明这里我们声明了一个联合体,里面有char、int两种元素。定义/赋值枚举顾名思义就是⼀ 列举,把可能的取值⼀ 列举。
2024-11-25 00:01:19
1122
1
原创 C语⾔内存函数
⽬录:1.memcpy使⽤和模拟实现2. memmove使⽤和模拟实现3. memset函数的使⽤4. memcmp函数的使⽤重叠内存拷贝】memcpy是,作用和strcpy类似,只不过能实现更多的功能2 定义voidmemcpyvoidconst void* source,size_tnum );所以注意事项:•函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。(这个函数有destination是、source是。
2024-11-19 21:33:15
1042
3
原创 字符函数和字符串函数
⽬录:1.字符分类函数2.字符转换函数1.strlen的使⽤和模拟实现2.strcpy的使⽤和模拟实现3.strcat的使⽤和模拟实现4.strcmp的使⽤和模拟实现5.strncpy函数的使⽤6.strncat函数的使⽤7.strncmp函数的使⽤。
2024-11-16 09:16:50
1120
1
原创 深⼊理解指针(5)[回调函数、qsort相关知识(qsort可用于各种类型变量的排序)】
把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数时,被调⽤的函数就是。
2024-11-11 23:01:20
2254
2
原创 深⼊理解指针(3)【数组与指针】
目录1.数组名的理解2.使⽤指针访问数组3.⼀维数组传参的本质4.冒泡排序5.⼆级指针6.指针数组7.指针数组模拟⼆维数组一 数组名的理解由上图可知我们使⽤,以前我们只写数组名是为了方便理解。那是不是不管在哪里数组名就是数组⾸元素(第⼀个元素)的地址呢?输出的结果是:40,如果arr是数组⾸元素的地址,那输出应该的应该是4/8才对。sizeof(数组名),sizeof中单独放数组名,这⾥的数组名表⽰整个数组,计算的是整个数组的⼤⼩,
2024-11-07 15:43:30
954
原创 深⼊理解指针(1)
假如你的一个去旅游,然后进入酒店夜宿,而这时候你要去找他,如果你的朋友没有告诉他的房间,这时候你就要一个一个房间找,这就显得很麻烦。此时假如你的朋友告诉他的房间,这时候你就可以快速找到他所在房间,这样是不是节省了很多时间。
2024-11-06 12:08:23
1279
原创 带你窥探数组全貌——这一篇就够了
C语⾔规定数组是有下标的,下标是从0开始的,假设数组有n个元素,最后⼀个元素的下标是n-1。数组 1 2 3 4 5 6 7 8 9 10下标 0 1 2 3 4 5 6 7 8 9(2)下标引⽤操作符在C语⾔中数组的访问提供了⼀个操作符[]
2024-10-25 06:18:11
740
原创 巧用分支和循环进行(查找素数和猜数字游戏)
程序员在编写代码时不仅要看代码的还有用分支和循环进行(查找素数和猜数字游戏)可以有多种方法那我们怎么提高代码的效率呢?比如查找100~200之间的素数,并把它打印在屏幕上。1 题⽬解析:1.要从100~200之间找出素数,⾸先得有100~200之间的数,这⾥可以使⽤循环解决。2.假设要判断i是否为素数,需要拿2~i-1之间的数字去试除i,需要产⽣2~i-1之间的数字,也可以使⽤循环解决。3.如果2~i-1之间有数字能整除i,则i不是素数,如果都不能整除,则i是素数。2 代码过程。
2024-10-25 03:36:12
383
原创 分支和循环下
测试一下rand函数,多次调用,产生五个随机数虽然生成了五个随机数;但是我们多次运行时会发现每次生成的随机数都是一样的,这是因为rand函数生成的随机数是一个伪随机数,这种随机数是通过某种算法生成的随机数,其实真正的随机数是无法预测的。
2024-10-25 01:26:00
776
2
原创 详解scanf和printf
它的第⼀个参数是⼀个格式字符串,⾥⾯会放置占位符(与printf() 的占位符基本⼀致),告诉编译器如何解读⽤⼾的输⼊,需要提取的数据是什么类型。为了防⽌这种情况,使⽤ 读⼊字符串的最⻓⻓度,即写成 %[m]s ,其中的 %s 占位符时,应该指定 [m] 是⼀个整数,表⽰读取字符串的最⼤⻓度,后⾯的字符将被丢弃。,如果有 n 个占位符, printf() 的参数就应该有n+1个,如果参数个数少于对应的占位符, printf() 可能会输出内存中的任意值。%[0-9] ),遇到不在集合之中的字符,匹配将会。
2024-10-19 02:20:00
922
原创 C语言常见概念
控制语句⽤于控制程序的执⾏流程,以实现程序的各种结构⽅式(C语⾔⽀持三种结构:顺序结构、选 择结构、循环结构),它们由特定的语句定义符组成,C语⾔有。这种注释只能是单⾏,可以放在⾏⾸,也可以放在⼀⾏语句的结尾。,关键字都有特殊意义,是保留C语言使用,由字母、数字、下滑线组成,第一个字符必须是字母或下划线,且要区分大小写。注释是给程序员⾃⼰,或者其他程序员看的,好的注释可以帮我们更好的理解代码,但是也不要过度注释,只写有必要的注释。• \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个4/8的倍数。
2024-10-14 18:07:12
982
5
原创 初始C语言常见概念1
它的功能是在标准输出设备(一般指屏幕)上进行信息的打印。同时使用库函数是需要其相应的头文件,如printf函数需要包含的就是stdio.h这个头文件。人和人之间交流使用的是汉语英语等自然语言。人和计算机之间交流使用的是计算机语言,而C语言是一门通用的。C语言标准规定了一组函数,这些函数再由不同厂商根据标准规定了一组函数,被称为标准库也叫库函数。,广泛用于底层开发。C语言的设计目的是提供一种能以简易的方式。以及不需要任何运行环境支持便能运行的汇编语言,其具有。上面就是C语言的一个基本框架,而C语言规定。
2024-10-09 18:03:07
403
原创 对未来人生的勉励和展望
遗憾的是随然经过高中的努力未能考入有所大学,幸运的是暑假的时候和哥哥聊天他为我推荐讲解计算机及相关专业,让我深入了解计算机并对此产生兴趣,有幸的是本人就读于计算机大类。1.C语言是学好程序语言的奇石,应从这里开始学习并打下良好的基础,进而去根深入的学习C++, Java等各类编程语言。我最想进入阿里腾讯等大厂,这是一个很大的挑战,但我也愿意为此努力,朝着这个目标前行,不给自己留下遗憾。本人暑假学习了C语言,了解了计算机专业热潮和内卷,想从这个领域拼出自己的一片天地,如同大海捞针一般。
2024-10-06 16:21:04
418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人