自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Javase.继承和多态的课后练习题

当子类继承父类需要先初始化继承过来的父类的成员,此时需要通过super来完成。很明显在子类的构造方法当中,并没有通过super调用父类的构造方法。通过super.data就能知道访问的是父类的data。当子类继承父类之后,在实例化子类对象的时候,先要调用父类的构造方法,来帮助父类初始化。子类继承父类之后,会继承父类私有的数据,但是由于private访问修饰符的问题,子类没有办法直接访问该数据。主要疑问就是注释3处,此时A虽然不是C的直接父类,但是C依然间接继承了A的内容的,此时可以发生向上转型的。

2024-06-18 15:21:33 76

原创 Javase.继承和多态

这篇文章深入探讨了Java中的继承和多态概念。首先,文章解释了继承作为面向对象编程中代码复用的重要手段,通过子类继承父类来抽取共性,简化代码结构。接着,介绍了多态的概念,即同一操作作用于不同对象产生不同结果,并阐述了实现多态的必要条件。此外,还详细探讨了子类对父类方法的重写规则,以及向上转型和向下转型的应用场景和注意事项。最后,总结了多态带来的代码简化与扩展性强等优点,同时提醒开发者避免在构造方法中调用重写的方法,以保证代码的健壮性。

2024-06-17 14:34:53 396

原创 Javase.类与对象

在Java SE中,类与对象是面向对象编程的基石。类定义了对象的属性(成员变量)和行为(成员方法),而对象则是类的具体实例。通过实例化类,可以创建具有特定属性和行为的对象。封装是面向对象的重要特性,通过访问权限控制成员变量的可见性,实现数据的隐藏和保护。此外,静态成员变量和方法属于类本身,所有对象共享,而非静态成员则与具体对象相关联。Java中的内部类为封装提供了更灵活的方式,可以在一个类的内部定义另一个类。通过掌握类与对象的概念和特性,我们可以更有效地设计、扩展和维护大型Java程序

2024-06-13 22:54:27 820

原创 Javase.数组的基本语法

Javase数组技术博客文章摘要本文详细解读了Javase中的数组技术。数组,作为一种基础的数据结构,用于存储同类型数据的集合。我们将深入探讨Javase数组的声明、初始化、访问和修改等核心操作,以及多维数组的特性。通过具体的实例和代码片段,旨在帮助读者全面理解数组的概念和应用,从而在实际编程中更高效地运用这一数据结构,提升编程技能。

2024-06-09 16:51:22 1002

原创 C语言.数据结构.双向链表

本文详细介绍了如何使用C语言实现一个双向链表数据结构。双向链表相比单向链表提供了更好的功能性和灵活性,允许双向遍历。文章首先阐述了双向链表的基本概念,随后逐步展示了如何定义链表节点结构体,以及如何创建、插入、删除和遍历节点。通过阅读本文,读者将能够全面掌握C语言中双向链表实现的精髓,进而在实际编程中灵活运用,提升数据结构的运用能力和程序的效率。

2024-06-06 20:52:48 759

原创 C语言.数据结构.单链表经典算法

技术博客摘要:本博客深入探讨了单链表相关的经典算法题,包括移除链表元素、反转链表、查找链表的中间节点、合并两个有序链表等。同时,我们还解决了环形链表的约瑟夫问题和链表分割等高级问题。通过详细解析和算法实现,读者可以深入理解链表操作的核心原理,并提升解决链表相关问题的能力。这些算法不仅是数据结构课程的基础知识,也是软件工程师解决实际问题的有力工具。掌握它们,将能更高效地处理链表数据,优化程序的性能和稳定性。

2024-06-04 15:31:56 869

原创 C语言.数据结构.单链表

C语言数据结构单链表技术博客文章摘要本文深入探讨了C语言中的数据结构——单链表。首先,文章介绍了链表的概念及结构,强调了链表作为一种物理存储结构上非连续、非顺序的存储结构,其数据元素的逻辑顺序是通过链表中的指针链接次序实现的。通过将链表与火车车厢的类比,形象地展示了链表节点之间的独立性和链接关系。接着,文章详细阐述了单链表的实现方法,包括定义链表节点结构体、实现基本的链表操作(如头部插入、删除、尾部插入、删除、查找、在指定位置插入/删除节点等),以及链表的销毁等功能。

2024-05-31 14:14:06 792

原创 C语言.顺序表.通讯录

本文介绍了基于C语言的顺序表实现通讯录的方法。通过构建顺序表数据结构,有效管理联系人信息,包括姓名、电话等。文章详细阐述了通讯录的创建、添加、删除、查找和修改联系人等功能的实现过程,为读者提供了一个简单高效的通讯录管理方案。

2024-05-28 23:27:58 494

原创 C语言.数据结构.顺序表

线性表()是个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2024-05-25 20:11:22 548

原创 C语言.动态内存管理

栈区(stack):在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。栈区主要存放运行函数而分配的局部变量、函数参数、返回数据、返回地址等。堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS(操作系统)回收。分配方式类似于链表。数据段(静态区):(static)存放全局变量、静态数据。程序结束后由系统释放。

2024-05-16 14:05:08 618

原创 C语言.自定义类型:联合和枚举

但是编译器只为最大的成员分配足够的内存空间。联合体的特点是所有成员共用一块内存空间。上述的结构其实设计的很简单,用起来也方便,但是结构的设计中包含了所有礼品的各种属性,像结构体一样,联合体也是有一个或多个构成,这些成员可以是不同的类型。因为对于礼品兑换单中的商品来说,只有部分属性信息是常用的。,这样就可以介绍所需的内存空间,一定程度上节省了内存。枚举顾名思义就是⼀⼀列举,把可能的取值⼀⼀列举。{}中的内容是枚举类型的可能取值,也叫。这些数据的表示就可以使用枚举。输出的三个地址一模一样,

2024-05-05 09:25:59 980

原创 C语言.自定义类型:结构体

位段的成员必须是intunsignedint或signedint,在C99中位段成员的类型也可以选择其他类型。位段的成员后面有一个冒号和一个数字。//单位是字节int _b : 3;int _c : 4;A就是一个位段类型。那位段A所占内存空间大小是多少?

2024-04-30 22:51:28 931

原创 C语⾔内存函数

对于重叠的内存,交给。

2024-04-24 08:19:28 439

原创 C语言.字符函数与字符串函数

是0,表示没有错误,当我们在使用标准库中的函数的时候发生了某种错误,就会将对应的错误码,存放在。通过返回值来说明是否是小写字母,如果是小写字母就返回非0的整数,如果不是小写字母,则返回。中,而一个错误码的数字是整数很难理解是什么意思,所以每一个错误码都是有对应的错误信息的。C语言中有一系列的函数是专门做字符分类的,也就是一个字符是属于什么类型的字符的。在不同的系统和C语言标准库的实现中都规定了一些错误码,一般是放在。这个头文件中说明的,C语言程序启动的时候就会使用一个全局的变量。是能够判断参数部分的。

2024-04-22 21:26:49 662 1

原创 C语言.指针(6)

这是上一节指针(5)最后的七道代码题的详解。这七道题目,是对前面五节课关于指针内容回顾的综合题目,难度比较大,耐心一点看,尽量把题目吃透,对以后的数据结构的分析有帮助。

2024-04-13 18:22:34 1255

原创 C语言.指针(5)

计算变量所占内存内存空间大小的,单位是字节,如果操作数是类型的话,计算的是使用类型创建的变量所占内存空间的大小。只关注占用内存空间的大小,不在乎内存存放的是什么数据。是C语言库函数,功能是求字符串长度。字符,直到找到为止,所以可能存在越界查找。之前字符串中字符的个数。中这个地址开始向后,

2024-04-11 09:08:55 400 1

原创 C语言.指针(4)

只有调用函数的逻辑是有差异的,可以把调用的函数的地址以参数的形式传递过去,使用函数指针接收,函数指针指向什么函数就调用什么函数,这里其实使用的就是。,有一部分代码是重复出现的,其中虽然执行计算的逻辑是区别的,但是。使用回调函数,模拟实现qsort(采用冒泡的排序方式),有没有办法,简化⼀些呢?

2024-04-06 13:11:08 598 1

原创 C语言.指针(3)

如果我们将函数的地址存放起来,就得创建函数指针变量,函数指针变量的写法与数组指针非常类似。那要把函数的地址存到一个数组中,那这个数组就叫的函数指针数组,用函数指针的数组如何定义?数组指针变量是用来存放数组地址的,那怎么获得数组的地址呢?确实打印出了地址,所以函数是有地址的,函数名就是函数的地址,当然也可以通过。这里的实参是二维数组,形参也可以写成二维数组的形式,还有其他的写法吗?调试之后,发现 p与 &arr 的类型是完全一致的。指针数组是一种数组,数组中存放的是地址(指针)。是数组,数组的内容是什么呢?

2024-04-02 23:19:45 785 1

原创 C语言.指针(2)

这里我们使用输出结果:我们发现数组名和数组首元素的地址打印出的结果一摸一样,。这时候有同学会有疑问?数组名如果是数组首元素的地址,那下面的代码怎么理解呢?,如果arr是数组首元素的地址,那输出应该的应该是才对。三个打印结果一摸一样,这时候又纳闷了,那和有啥区别呢?

2024-03-30 21:35:37 597 1

原创 C语言.指针的基本语法(1)

我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的。处理后的数据也会放回内存中。那我们买电脑的时候,电脑上内存是8G/16G/32G等,那这些内存空间如何高效的管理?其实,每一个内存单元,一个字节空间里面能放,而每个内存单元也都是有一个编号,有了这个内存单元的编号,。在计算机中我们把。

2024-03-24 20:51:27 686 1

原创 C语言.操作符的基本语法(2)

代码1:变量的定义int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//代码2struct Stu//名字int age;//年龄//初始化//指定顺序初始化//代码3int date;//结构体嵌套初始化//结构体嵌套初始化使用方法:结构体变量.成员名即使有了操作符的优先级和结合性,我们写出的表达式依然有可能不能通过操作符的属性确定唯一的计算路径,那这个表达式就是存在潜在风险的,建议不要写出特别复杂的表达式,可拆开写。

2024-03-19 23:23:46 782 1

原创 操作符的基本语法(一)

今天介绍一些与二进制有关的操作符,先了解一下二进制和进制转换的知识。

2024-03-16 11:39:10 573 1

原创 C语言.扫雷游戏

扫雷游戏代码的实现主要基于前面学习的数组和函数,进行一个阶段性的总结。函数的调用、数组传参、VS调试等内容。写体量大的代码时,学会把整体分成几部分来写,好处是:效率高,整体性更好(容易梳理代码);写完一部分时,记得调试一下,确定代码跑起来符合预期时,再继续往下写。在写扫雷的时候,会遇到各种各样的问题,一定要调试。还有就是给自己一些时间来适应。

2024-02-09 17:47:40 942 1

原创 C语言.VS2022使用调试技巧

bug本意是“昆虫”或“虫子”,现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题,简称程序漏洞。当我们发现程序中存在的问题的时候,那下一步就是找到问题,并修复问题。这个找问题的过程叫称为调试,英文叫debug(消灭bug)的意思。调试一个程序,首先是承认出现了问题,然后通过各种手段去定位问题的位置,可能是逐过程的调试,也可能是隔离和屏蔽代码的方式,找到问题所的位置,然后确定错误产生的原因,再修复代码,重新测试。

2024-02-07 18:05:02 957 2

原创 C语言.(三)函数.函数递归

递归就是某一事物直接或间接地由自己组成。在C语言中,递归就是函数自己调用自己。//在 main 函数又调用了 main 函数return 0;上述的就是一个简单的递归程序,只不过上面的递归是为了演绎递归的基本形式,不是为了解决问题,代码最终也会陷入死递归,导致栈溢出。

2024-02-06 18:33:56 611

原创 C语言.(二)函数的基本语法

一般我们在使用函数的时候,直接将函数写出来就使用了。例子:写一个函数判断一年是否是闰年。//判断一年是否是闰年int is_leap_year(int y)//一整段都是函数的定义return 1;//函数的调用printf("是闰年\n");elseprintf("不是闰年\n");return 0;上面代码的第 4~14 行是函数的定义第 21 行是函数的调用。

2024-02-05 21:08:18 808 1

原创 C语言.(1)函数的基本概念

ret_type fun_name(形式参数) {ret_type是函数的返回类型它是用来表示计算结果的类型,有时候返回类型可以是void表示什么都不返回。fun_name是函数名他是为了方便使用函数,尽量要根据函数的功能起的有意义。括号放的是形式参数函数的参数也可以是void明确表示函数没有参数。如果有参数,要交代清楚参数的类型和名字,以及参数个数。{ }是函数体它是为了完成计算的过程。

2024-02-03 15:48:20 1050 1

原创 C语言.(3)字符数组的基本语法

字符串是指若干有效字符的序列。包括字母、数字、专用字符、转义字符等等。"39.4" "%d\n" "解放军"字符串存放在一个字符型数组中,因此为了存放字符串,常常在程序中定义字符型数组。表示 str 是一个字符型数组,可以放 8 个字符int main()int i = 0;for (i = 0;i < 8;i++)//%c 打印字符return 0;字符数组的起始地址就是第一个元素的存储地址。C语言中是以 ‘\0’ 字符作为字符串结束标志的,所以。

2024-02-01 20:48:05 631 1

原创 C语言.(二)二维数组的基本语法

在 C99 标准之前,C语言在创建数组的时候,数组大小的指定只能使用常量、常量表达式,或者如果我们初始化数据的话,可以省略数组大小。像一维数组一样,我们如果想研究二维数组在内存中的存储方式,我们也是可以打印出数组所有元素的地址的。有语法限制,创建的数组不够灵活,有时候数组大了浪费空间,有时候数组小了又不够。上一节学习的数组被称为一维数组,数组的元素都是内置类型的,其实我们只要能够按照一定的规律产产所有的行和列的数字就行;在创建变量或者数组的时候,给定⼀些初始值,被称为初始化。C99中给一个变长数组(

2024-01-30 16:31:59 695

原创 C语言.(一)一维数组的基本语法

C语言.一维数组 的基本语法

2024-01-28 15:07:25 767

原创 if语句的相关介绍

if语句 语法的详细介绍

2024-01-25 16:19:27 791

原创 编程的起程之旅

第一篇博客(关于我学习编程的)

2024-01-17 12:40:10 366

空空如也

空空如也

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

TA关注的人

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