- 零基础入门:一文掌握 C 语言核心基本语法C 语言作为现代编程语言的基石,以其高效、灵活和贴近底层硬件的特性,依然在操作系统、嵌入式开发和高性能计算中占据着不可动摇的地位。如果你刚开始接触 C 语言,或者想快速复习其核心语法,那么这篇文章将带你轻松理清 C 语言的脉络。 一、 C 语言程序的基本结构任何一个完整的 C 语言程序,都是由一个或多个函数组成的,其中必须包含一个且只能有一个 ma... 零基础入门:一文掌握 C 语言核心基本语法C 语言作为现代编程语言的基石,以其高效、灵活和贴近底层硬件的特性,依然在操作系统、嵌入式开发和高性能计算中占据着不可动摇的地位。如果你刚开始接触 C 语言,或者想快速复习其核心语法,那么这篇文章将带你轻松理清 C 语言的脉络。 一、 C 语言程序的基本结构任何一个完整的 C 语言程序,都是由一个或多个函数组成的,其中必须包含一个且只能有一个 ma...
- 前两篇我们走完了这样一条路:第一篇《C语言常见排序算法详解》:把冒泡、选择、插入、希尔、归并、快速、堆排序写出来,认清它们的时间/空间复杂度和稳定性;第二篇《从会写到会用:C语言排序算法的实战选择与优化》:讲怎么选、怎么优化,用 qsort 做泛型排序,优化快排、规避最坏情况。但这两篇讲的都是比较排序——通过元素两两比较确定顺序。比较排序有一个理论下界:任何基于比较的排序,最坏情况至少需要 ... 前两篇我们走完了这样一条路:第一篇《C语言常见排序算法详解》:把冒泡、选择、插入、希尔、归并、快速、堆排序写出来,认清它们的时间/空间复杂度和稳定性;第二篇《从会写到会用:C语言排序算法的实战选择与优化》:讲怎么选、怎么优化,用 qsort 做泛型排序,优化快排、规避最坏情况。但这两篇讲的都是比较排序——通过元素两两比较确定顺序。比较排序有一个理论下界:任何基于比较的排序,最坏情况至少需要 ...
- 排序是编程中最基础也是最重要的算法之一。在C语言中,排序算法的实现既考察对指针和数组的掌握,也体现对算法效率的理解。本文将介绍几种常见的排序算法,包括它们的C语言实现、时间复杂度和空间复杂度,并附上稳定性说明,方便你在实际开发中做出选择。 1. 冒泡排序(Bubble Sort)基本思想:重复遍历待排序数组,每次比较相邻两个元素,若顺序错误则交换,直到没有需要交换的元素为止。C语言实现:vo... 排序是编程中最基础也是最重要的算法之一。在C语言中,排序算法的实现既考察对指针和数组的掌握,也体现对算法效率的理解。本文将介绍几种常见的排序算法,包括它们的C语言实现、时间复杂度和空间复杂度,并附上稳定性说明,方便你在实际开发中做出选择。 1. 冒泡排序(Bubble Sort)基本思想:重复遍历待排序数组,每次比较相邻两个元素,若顺序错误则交换,直到没有需要交换的元素为止。C语言实现:vo...
- ## 一、构建标准化的算法刷题沙箱在刷题或研究底层算法时,我们经常需要在 C++、Python、Go 之间切换,甚至需要用到 Valgrind(内存检查)或 GDB(调试器)。与其把本地电脑弄得环境错乱,不如用一个 Dockerfile 打造专属的“算法沙箱”。### 1. 编写 Dockerfile```dockerfile# 基于轻量级 Alpine,但包含完整的编译工具链FROM al... ## 一、构建标准化的算法刷题沙箱在刷题或研究底层算法时,我们经常需要在 C++、Python、Go 之间切换,甚至需要用到 Valgrind(内存检查)或 GDB(调试器)。与其把本地电脑弄得环境错乱,不如用一个 Dockerfile 打造专属的“算法沙箱”。### 1. 编写 Dockerfile```dockerfile# 基于轻量级 Alpine,但包含完整的编译工具链FROM al...
- 在计算机中保存一份文档、一张照片或一段代码,看起来只是一次简单的"保存"操作。但在这背后,操作系统需要回答一系列问题:文件的内容应该写在磁盘的什么位置?文件名如何与内容对应起来?如何在海量文件中快速找到某一个?磁盘上的空间如何分配和回收?写入到一半时突然断电,数据会不会损坏?多个程序同时读写同一个文件会发生什么?负责回答这些问题的,是文件系统(File System)。它在原始的、以块为单位... 在计算机中保存一份文档、一张照片或一段代码,看起来只是一次简单的"保存"操作。但在这背后,操作系统需要回答一系列问题:文件的内容应该写在磁盘的什么位置?文件名如何与内容对应起来?如何在海量文件中快速找到某一个?磁盘上的空间如何分配和回收?写入到一半时突然断电,数据会不会损坏?多个程序同时读写同一个文件会发生什么?负责回答这些问题的,是文件系统(File System)。它在原始的、以块为单位...
- InnoDB的MVCC(多版本并发控制)通过维护数据行的历史版本,使得读写操作互不阻塞。其底层实现主要依赖于三个核心组件、一套可见性判断算法,以及Read View的生成时机。一、 MVCC的三大核心组成1. 隐藏列(Hidden Columns) InnoDB在聚簇索引的每一行记录中,都会默认添加三个隐藏字段:DB_TRX_ID(6字节): 记录最近一次插入或修改该行数据的事务ID。DB_... InnoDB的MVCC(多版本并发控制)通过维护数据行的历史版本,使得读写操作互不阻塞。其底层实现主要依赖于三个核心组件、一套可见性判断算法,以及Read View的生成时机。一、 MVCC的三大核心组成1. 隐藏列(Hidden Columns) InnoDB在聚簇索引的每一行记录中,都会默认添加三个隐藏字段:DB_TRX_ID(6字节): 记录最近一次插入或修改该行数据的事务ID。DB_...
- 用几百行前端代码就能做一个可用的习惯打卡工具。这篇整理几个设计上的关键点。一、数据结构最省事的做法是按日期存:localStorage 里存一个对象,key 是习惯 id,value 是日期字符串数组。判断今天是否打卡就是看数组里有没有今天的日期,连续天数则从今天往前逐日回查,遇到断点就停。二、连续天数计算从今天开始往前遍历,只要当天在记录里就加一,否则中断。注意要处理「今天还没打卡」的情况... 用几百行前端代码就能做一个可用的习惯打卡工具。这篇整理几个设计上的关键点。一、数据结构最省事的做法是按日期存:localStorage 里存一个对象,key 是习惯 id,value 是日期字符串数组。判断今天是否打卡就是看数组里有没有今天的日期,连续天数则从今天往前逐日回查,遇到断点就停。二、连续天数计算从今天开始往前遍历,只要当天在记录里就加一,否则中断。注意要处理「今天还没打卡」的情况...
- 有些代码读起来毫无破绽,编译通过,测试也通过,直到线上某天才出问题。下面这五处,我在真实项目里都见过。 一、Integer 的 == 有时候是对的Integer a = 127;Integer b = 127;System.out.println(a == b); // trueInteger c = 128;Integer d = 128;System.out.println(c ==... 有些代码读起来毫无破绽,编译通过,测试也通过,直到线上某天才出问题。下面这五处,我在真实项目里都见过。 一、Integer 的 == 有时候是对的Integer a = 127;Integer b = 127;System.out.println(a == b); // trueInteger c = 128;Integer d = 128;System.out.println(c ==...
- 一、支持的字段类型OceanBase MySQL 模式 4.4 兼容 MySQL 5.7/8.0,类型很全,分五大类:1. 数值整数:TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT,都支持 UNSIGNED、ZEROFILL定点:DECIMAL(M,D)(M≤65, D≤30)—— 金额用它,别用 FLOAT/DOUBLE浮点:FLOAT / DO... 一、支持的字段类型OceanBase MySQL 模式 4.4 兼容 MySQL 5.7/8.0,类型很全,分五大类:1. 数值整数:TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT,都支持 UNSIGNED、ZEROFILL定点:DECIMAL(M,D)(M≤65, D≤30)—— 金额用它,别用 FLOAT/DOUBLE浮点:FLOAT / DO...
- 三个结构体绑定涉及三个 C 结构体,各有绑法。 HcclRootInfo — 不透明字节块Root 节点标识信息:存储和传递 Root 节点的 Rank 标识信息,主要包含 Device IP、Device ID 等关键信息 。使用场景:在调用 HCCL 初始化接口(如 HcclCommInitRootInfo 或 HcclCommInitRootInfoConfig)之前,需仅在 Root... 三个结构体绑定涉及三个 C 结构体,各有绑法。 HcclRootInfo — 不透明字节块Root 节点标识信息:存储和传递 Root 节点的 Rank 标识信息,主要包含 Device IP、Device ID 等关键信息 。使用场景:在调用 HCCL 初始化接口(如 HcclCommInitRootInfo 或 HcclCommInitRootInfoConfig)之前,需仅在 Root...
- 在Python服务开发中,JSON解析成功并不意味着字段数据类型符合预期。本文结合标准库json模块,剖析解析后校验字段类型与边界值的必要性,重点解决bool是int子类的隐式类型混淆问题,并给出安全检查规范与排查思路。 在Python服务开发中,JSON解析成功并不意味着字段数据类型符合预期。本文结合标准库json模块,剖析解析后校验字段类型与边界值的必要性,重点解决bool是int子类的隐式类型混淆问题,并给出安全检查规范与排查思路。
- ## 一、核心认知:this 是调用时决定的this 不取决于函数写在哪,取决于**函数怎么被调用**。同一个函数,赋值给不同对象再调用,this 完全不同:```jsfunction who() { return this.name;}const a = { name: 'A', who };const b = { name: 'B', who };who(); // ... ## 一、核心认知:this 是调用时决定的this 不取决于函数写在哪,取决于**函数怎么被调用**。同一个函数,赋值给不同对象再调用,this 完全不同:```jsfunction who() { return this.name;}const a = { name: 'A', who };const b = { name: 'B', who };who(); // ...
- 在处理海量数据时,经常会遇到这样一些问题:一个网页爬虫已经抓取了数十亿个网址,如何快速判断一个新网址是否已经抓取过?一个网站每天有上亿次访问,如何统计当天有多少个不同的访客?一个网络监控系统每秒处理数百万个数据包,如何找出流量最大的那些来源地址?如果要精确地回答这些问题,就需要保存所有出现过的元素:所有已抓取的网址、所有访客的标识、每个来源地址的计数。当数据规模达到数十亿量级时,仅存储这些数... 在处理海量数据时,经常会遇到这样一些问题:一个网页爬虫已经抓取了数十亿个网址,如何快速判断一个新网址是否已经抓取过?一个网站每天有上亿次访问,如何统计当天有多少个不同的访客?一个网络监控系统每秒处理数百万个数据包,如何找出流量最大的那些来源地址?如果要精确地回答这些问题,就需要保存所有出现过的元素:所有已抓取的网址、所有访客的标识、每个来源地址的计数。当数据规模达到数十亿量级时,仅存储这些数...
- Robbins-Monro算法(RM 算法)RM算法(Robbins-Monro)是一个求根算法,它的设计初衷是专门用来寻找让某个函数等于 0 的点。在 随机逼近(Stochastic Approximation) 领域,RM算法是现代随机优化(包括深度学习中的SGD)的理论基石。 1. 它解决什么问题?它的核心目的是:在有噪声(随机误差)干扰的情况下,找到一个函数的根(即零点)。常规场景... Robbins-Monro算法(RM 算法)RM算法(Robbins-Monro)是一个求根算法,它的设计初衷是专门用来寻找让某个函数等于 0 的点。在 随机逼近(Stochastic Approximation) 领域,RM算法是现代随机优化(包括深度学习中的SGD)的理论基石。 1. 它解决什么问题?它的核心目的是:在有噪声(随机误差)干扰的情况下,找到一个函数的根(即零点)。常规场景...
- 码云数智零代码制作题库刷题小程序完整流程如今,题库刷题小程序广泛应用于校园学习、职业考证、企业培训、公考教资备考等多个场景,相比传统纸质题库、线上文档刷题模式,小程序无需下载、随时打开、自动统计错题和成绩的优势十分突出。对于大多数没有编程技术基础的个人和商家来说,自主代码开发周期长、成本高、难度大,而借助码云数智零代码平台,无需编写一行代码,零基础即可快速搭建专属题库刷题小程序,短时间内就能... 码云数智零代码制作题库刷题小程序完整流程如今,题库刷题小程序广泛应用于校园学习、职业考证、企业培训、公考教资备考等多个场景,相比传统纸质题库、线上文档刷题模式,小程序无需下载、随时打开、自动统计错题和成绩的优势十分突出。对于大多数没有编程技术基础的个人和商家来说,自主代码开发周期长、成本高、难度大,而借助码云数智零代码平台,无需编写一行代码,零基础即可快速搭建专属题库刷题小程序,短时间内就能...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签