- 博客(21)
- 收藏
- 关注
原创 C语言指针
内存操作:通过地址直接读写内存。类型匹配:指针类型决定解引用和运算行为。安全性:避免野指针和内存泄漏。灵活应用:结合数组、字符串、多级指针实现复杂数据结构。
2025-04-04 08:40:10
912
原创 C语言操作符
对有符号数右移时,高位补符号位(算术右移);无符号数补0(逻辑右移)。通过系统化掌握这些操作符的特性,能够编写更高效、安全的C语言代码。:从左到右依次执行,整个表达式的值为最后一个表达式(:避免在同一个表达式中对同一变量多次修改(如。完全不同,前者是位运算,后者是逻辑判断。会跳过不必要的计算,可用于条件保护(如。
2025-04-04 08:05:19
509
原创 C语言函数
形参作为独立内存空间,接收实参值的拷贝。函数内对形参的修改不会影响实参。传递数组首地址或指针时,形参通过地址直接操作原始数据。不可返回局部变量的地址(函数结束内存释放)原因:未实现声明过的函数/链接时缺少目标文件。场景:递归深度过大或局部数组尺寸超标。优点:代码简洁,适合树形结构问题。缺点:栈空间消耗大,时间复杂度高。:返回值存储于临时寄存器或栈空间。解决方案:改用动态内存或迭代算法。合理选择值传递/地址传递策略。构建可维护的模块化代码结构。:回调函数、策略模式。
2025-04-02 22:36:39
462
原创 C语言数组知识点
通过掌握数组的内存布局、指针关系及动态管理,可高效处理批量数据,同时避免常见陷阱。:C语言不检查数组边界,越界访问可能导致程序崩溃或数据污染。静态数组(编译时确定大小) vs 动态数组(运行时分配):二维数组本质是一维数组的嵌套,内存按行连续分配。:数组长度在运行时确定(部分编译器可能不支持)。一维数组(线性访问) vs 多维数组(嵌套结构)的集合,通过连续内存存储,支持高效访问。:数组名退化为指针,需额外传递长度信息。:返回指向整个数组的指针(类型为。:返回整个数组的字节大小(如。
2025-04-02 22:28:50
416
原创 MySQL联合查询
用于横向扩展数据,通过关联条件整合多表信息,核心掌握内连接与外连接的区别。:以左表为主,返回左表所有记录及右表的匹配记录(无匹配则右表字段为。:以右表为主,返回右表所有记录及左表的匹配记录(无匹配则左表字段为。通过明确需求、优化查询条件和合理使用索引,可显著提升联合查询效率。使用表别名提高可读性(如。通过关联条件横向合并多表数据,扩展查询结果的列信息。纵向合并多个查询结果,要求列数和数据类型一致。条件,否则会返回两表所有行的组合(如。结果集中不包含任一表的未匹配记录。:返回左右表所有记录,无匹配时填充。
2025-04-01 20:47:21
505
原创 计算机基础知识
理解进制转换、编码规则及系统组成是掌握计算机基础的关键,未来技术(量子计算、生物计算)将推动计算能力跨越式发展。(1946年):第一台通用电子计算机,使用电子管,无存储程序功能。:办公软件(Office)、浏览器(Chrome)、游戏(原神)。(程序与数据)组成的系统,能够自动执行指令、处理数据并输出结果。:提出图灵机模型(计算理论基石)、图灵测试(AI理论先驱)。:操作系统(Windows/Linux)、编译器、驱动程序。:算盘→计算尺→巴贝奇差分机(机械计算)。:图形界面(GUI)、语音/手势交互。
2025-04-01 20:13:18
841
原创 MySQL聚合函数与分组查询
1 | NULL | 7 -- 部门小计。2 | NULL | 3 -- 部门小计。统计报表:如部门业绩、用户订单总数。:大数据量分组时可能变慢,需考虑分库分表或预聚合。数据清洗:按规则分组后去重或汇总。:按指定列的值分组,对每组数据进行聚合计算。:对一组数据进行统计计算,返回单个汇总值。实现数据分组统计,需与聚合函数配合使用。:对分组列建立索引可提升性能(如。:对分组后的结果进行筛选(类似。
2025-03-31 21:54:36
642
原创 MySQL表设计
主键索引、唯一索引、普通索引、联合索引(最左匹配原则)。:消除部分依赖(复合主键时,非主键字段依赖全部主键)。(默认):支持事务、行锁、外键,适用高并发写入。:频繁更新字段、低区分度字段(如性别)避免索引。:仅适合读多写少场景(如日志表),不支持事务。:需中间表(如学生表与课程表通过选课表关联)。:通过唯一外键关联(如用户表与用户详情表)。:拆分大字段(如商品详情与基础信息分离)。合理设计表关系(一对一、一对多、多对多)。:外键在“多”侧表(如部门表与员工表)。:雪花算法(时间戳+机器ID+序列号)。
2025-03-31 21:42:58
659
原创 MySQL 约束知识点
防止无效或不符合业务规则的数据被插入或修改。通过约束,可以定义数据的有效性规则,保障数据的准确性和可靠性。:主键、外键、唯一、非空、默认值和检查约束共同保障数据正确性。:由多列组成的主键(如订单详情表的订单ID + 商品ID)。:频繁的外键检查可能降低写入性能,建议在应用层处理逻辑。:根据业务需求选择约束,平衡数据一致性与性能。动态管理约束,结合事务和索引优化数据库性能。:多列组合唯一(如用户名 + 手机号唯一)。:插入失败或事务回滚时,自增值不会回退。常用于自增主键(仅限整数类型)。
2025-03-30 23:21:40
547
原创 数据库的创建(以 MySQL 为例)
DBMS(数据库管理系统):如MySQL、Oracle、PostgreSQL,提供数据操作接口。utf8mb4:支持 Emoji 及多语言字符(MySQL 8.0 默认字符集)。数据模型:关系型(表结构)、非关系型(NoSQL,如文档、键值对)。:红色标识的库为 MySQL 内部使用,存储权限、性能等核心数据。utf8mb4_unicode_ci:通用排序规则,不区分大小写。数据库(Database):结构化数据集合,用于高效管理数据。:为电商系统创建数据库,要求支持多语言、避免重复创建。
2025-03-27 21:21:06
493
原创 java 数组
掌握数组的核心原理(内存模型、操作性能)和常见面试题(扩容、深拷贝、双指针算法),结合代码实践与底层理解,可轻松应对90%的面试考察。:1. 性能敏感场景(高频访问);连续内存块,直接存储元素(基本类型)或对象引用(引用类型)。外层数组:3个引用(32位JVM占12B,64位占24B)。外层数组存储内层数组的引用(地址),内层数组独立分配内存。:复制引用,共享元素(修改副本影响原数组)。内层数组:3个一维数组,每个占。基本类型数组元素有默认值(如。开始,内存连续,访问高效(:什么场景下优先用数组?
2025-03-26 22:34:56
860
原创 Java 方法
掌握方法的定义、重载与递归,以及数组的初始化与操作,是 Java 编程的基础。结合异常处理与调试技巧,可编写健壮且高效的代码,同时轻松应对面试中的相关问题。
2025-03-25 19:52:28
906
原创 Java 数据类型
◦ 频繁自动装箱可能产生额外对象,影响性能(如循环中大量使用 Integer)。能,Java 使用 Unicode 编码(如 char c = '中';◦ boolean 不能与 int 互换(不同于 C 语言)。内存分配在堆(Heap),栈(Stack)存储引用。基本类型值在栈中,引用类型地址在栈,对象在堆。3. 基本类型与引用类型的存储区别?变量存储对象的内存地址,默认值为。1. String 是基本类型吗?否,属于引用类型,存储在堆中。)、接口、数组、枚举等。(与 C 语言不同)。
2025-03-25 00:01:40
632
原创 小型局域网的构建(Trunk接口项目)
利用模拟器模拟网络系网络场景。整个网络系是一个大的局域网环境,整个网络系分为不同的部门和机房,交换机SW1放在三楼A301,交换机SW2放在四楼A404。三楼有教师办公室和机房,四楼有教务办公室和机房。要求教务办公室和教师办公室可以互通,机房与机房之间可以互通,但是办公室不能和机房互通。利用Trunk接口实现VLAN间路由。
2025-03-21 18:54:47
136
原创 小型局域网的构建( Access接口项目)
整个网络系是一个大的局域网环境,整个网络系分为不同的部门和机房,交换机SW放置在均能与两层相连的弱电竖井里。三楼有教师办公室和机房,四楼有教务办公室和机房。要求教务办公室和教师办公室可以互通,机房与机房之间可以互通,但是办公室不能和机房互通。,测试结果应显示能够 ping 通,说明办公室之间可以互通。2. 配置接口类型为 Access 并划分 VLAN。配置连接三楼教师办公室 PC 的接口(Gi0/0/1)在 三楼教师办公室的命令提示符下输入ping。设 三楼教师办公室 的 IP 地址为。
2025-03-17 21:49:23
338
原创 c语言分支循环
循环语句用于重复执行代码块,直到满足特定的终止条件。// 如果 expression 不等于任何 case 常量,执行这里的代码。// 如果 expression 等于 constant1,执行这里的代码。// 如果 expression 等于 constant2,执行这里的代码。// 循环体,只要 condition 为真,就重复执行这里的代码。// 如果 condition 为真,执行这里的代码。// 如果 condition 为假,执行这里的代码。// 循环体,重复执行这里的代码。
2024-03-23 17:24:35
162
1
原创 对于编程的感受
我最想进入的一家IT公司是谷歌。我认为谷歌是一家充满创新和技术驱动的公司,我希望能够在那里接触到最前沿的技术和最优秀的工程师团队,实现我的技术职业目标。我打算通过参加在线课程、阅读相关书籍、观看教学视频以及参与编程社区的讨论来学习编程。我也计划找到编程导师或加入技术团队,以便获得指导和实际项目经验。我的编程目标包括学习掌握多种编程语言,开发自己的应用程序和网站,参与开源项目,以及不断提升自己的技术能力和解决问题能力。我愿意为了我的技术梦想投入更多时间和精力。我是一名对编程和技术充满热情的人。
2023-11-20 16:54:11
33
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人