随笔分类 - C语言
CRUD程序员随着AI时代的到来标志着彻底消失,但是还是需要了了解程序是如何运行。
所以必须理解C和C++,探测系统调用的真相
摘要:🔍 C 语言学习:指针(Pointer) 🎯 学习目标 理解指针的基本概念与作用,掌握其在内存访问中的核心地位。 掌握指针的定义、赋值、取地址和间接访问操作符 * 的使用。 能够使用指针完成数组遍历、函数参数传递、动态内存管理等常见任务。 🔑 核心重点 指针是变量的地址,通过指针可以访问或修改
阅读全文
摘要:📘 C 语言学习:枚举(enum) 🎯 学习目标 理解 enum 的基本概念和作用,掌握其在程序设计中的意义。 掌握 enum 的定义与使用方式,能替代“魔法数字”提升代码可读性。 理解 enum 与整型的关系,了解编译器如何处理枚举值。 🔑 核心重点 枚举是命名的整数常量集合,用于表示一组固
阅读全文
摘要:🌟 一、你的问题本质是:“C 是不是只是一个接口?真正的底层在哪?” ✅ 答案是:是的,而且不只是 C。 所有编程语言(包括 C),本质上都是: 人类与计算机之间的「翻译工具」和「抽象接口」。 C 语言是面向过程的抽象; 汇编语言是对 CPU 指令的直接映射; 可执行文件是对操作系统的“契约”;
阅读全文
摘要:C 数组 在 C 语言中,数组(Array) 是一种用于存储相同类型数据的集合结构。它是程序中最基础、最常用的复合数据类型之一。 掌握数组的操作是理解更高级数据结构(如字符串、指针、结构体)的基础。 一、学习目标 🎯 掌握一维数组的定义、初始化和访问方式。 理解数组在内存中的连续性特点与索引越界的
阅读全文
摘要:🧠 一、作用域的本质:编译器层面的“命名空间管理” ✅ 编译阶段的作用域控制 在 C 语言中,作用域(Scope)本质上是编译器对变量、函数等标识符可见性的管理机制。 它主要体现在: 层面 表现 源码解析 编译器根据 {}、static、extern 等关键字判断标识符是否可访问 符号表 编译器维
阅读全文
摘要:C 作用域规则 在 C 语言中,作用域(Scope) 是指变量、函数或标识符在程序中可以被访问的范围。理解作用域是编写结构清晰、可维护性强代码的关键。 一、学习目标 🎯 掌握 C 语言中变量的作用域分类:块作用域、文件作用域、函数作用域、原型作用域。 理解局部变量与全局变量的生命周期和访问权限。
阅读全文
摘要:C 函数 在 C 语言中,函数(Function) 是组织代码的基本单位。它不仅可以将程序划分为多个逻辑模块,还能提高代码的可读性、复用性和维护性。 掌握好函数的定义与使用,是编写结构清晰、高效稳定程序的关键。 一、学习目标 🎯 掌握 C 语言中函数的定义、声明与调用方法。 理解函数参数传递机制(
阅读全文
摘要:C 循环 在 C 语言中,循环结构(Loop) 是控制程序流程的重要手段之一。它允许我们重复执行一段代码,直到满足特定条件为止。 掌握好循环结构,是编写高效、简洁、可维护代码的基础。 一、学习目标 🎯 掌握 for、while 和 do-while 三种基本循环结构的使用方法。 理解循环的执行流程
阅读全文
摘要:C 判断 在 C 语言中,判断结构(Decision Making) 是程序流程控制的基础。它允许我们根据某些条件的真假来决定是否执行某段代码。 一、学习目标 🎯 掌握 if、else if、else 和 switch-case 的使用方法。 理解逻辑表达式和布尔值在 C 中的表现形式。 能够根据
阅读全文
摘要:C 运算符 在 C 语言中,运算符(Operators) 是用于对变量或常量进行操作的符号。它们是构成表达式的基本元素,也是程序逻辑和数据处理的核心工具。 一、学习目标 🎯 掌握 C 语言中常见运算符的分类与使用方法。 理解运算符的优先级和结合性,避免逻辑错误。 能够灵活运用运算符编写高效、清晰的
阅读全文
摘要:C 存储类 一、学习目标 🎯 理解存储类的概念及其对变量生命周期和作用域的影响。 掌握 auto、register、static 和 extern 四种存储类的使用场景。 能够根据实际需求选择合适的存储类,优化程序结构与性能。 二、核心重点 🔑 存储类决定变量的生命周期、作用域以及存储位置。 s
阅读全文
摘要:从汇编视角深入理解:#define 和 const 的本质差异 🎯 学习目标: 通过从底层汇编和内存布局角度,深入理解 #define 宏常量与 const 变量在程序运行时的本质区别。掌握如何在 CLion 中查看生成的汇编代码,并结合实际案例分析它们对性能、调试和内存的影响。 🔑 核心重点:
阅读全文
摘要:#define 定义常量 vs const 定义常量:深入对比与使用建议 🎯 学习目标: 理解 #define 和 const 在定义常量时的底层机制、作用域、类型安全性、调试支持等方面的区别,掌握它们在不同场景下的最佳实践。 🔑 核心重点: #define 是预处理器指令,在编译前进行文本替换
阅读全文
摘要:C 常量(Constants) 🎯 学习目标: 掌握常量的定义与使用方式,理解 const 限定符、宏定义和枚举常量的区别与应用场景,能够在 CLion 中熟练调试和优化常量代码,提升程序的安全性和可维护性。 🔑 核心重点: 常量是程序中不可修改的数据值,C 语言提供了多种机制来定义常量,包括字
阅读全文
摘要:C 变量(统一命名规范版) 🎯 学习目标: 掌握 C 语言中变量的定义、声明、初始化方式,理解变量作用域与生命周期,深入理解内存分配机制,并能在 CLion 环境中高效编写和调试符合 C23 标准的代码。 🔑 核心重点: 变量是程序中存储数据的基本单位,其行为由类型、作用域和存储类共同决定;统一
阅读全文
摘要:C 数据类型 🎯 学习目标: 掌握 C 语言的基本数据类型、常量与变量定义方式,理解其在内存中的表示和使用场景,为后续开发打下坚实基础。 🔑 核心重点: C 语言提供了丰富而底层的数据类型系统,包括整型、浮点型、字符型、枚举型等,开发者需根据实际需求选择合适的数据类型。 一、详细讲解 1. 基本
阅读全文
摘要:这是一个非常关键且深入的问题!虽然 C 语言不是面向对象语言,但它的数据存储机制是非常底层、灵活且高效的。我们可以从 内存布局 的角度来理解 C 语言中变量和数据的存储方式。 C 数据存储与内存布局 🎯 学习目标: 理解 C 语言中不同数据的存储位置(栈、堆、全局区等),掌握变量生命周期与作用域,
阅读全文
摘要:C 程序结构 🎯 学习目标: 掌握 C 语言程序的基本结构,包括函数、语句、变量定义与作用域,理解完整的程序组织方式,并能在 CLion 中熟练编写和调试结构清晰的 C23 程序。 🔑 核心重点: C 程序由一个或多个函数组成,主函数是程序入口,结构清晰有助于代码维护与扩展。 一、详细讲解 1.
阅读全文
摘要:🧠 问题的本质:无论用什么语言写程序,最终都要跑在 CPU 上 🔑 核心观点: Java、Python 的抽象层再深,也必须依赖 C Runtime(CRT)作为其底层支撑环境。 换句话说: 你写的代码不是直接运行的,它必须通过一系列翻译和封装,最终变成 CPU 能理解的指令流 —— 而 CRT
阅读全文
摘要:🔍 什么是 CRT?—— C Runtime Library(C运行时库) CRT 是 C Runtime Library 的缩写,中文叫“C 运行时库”,它是 C 程序在运行过程中所依赖的一组标准函数和初始化逻辑。 🎯 学习目标 理解 CRT 的定义与作用 明白为什么即使你只写了 main()
阅读全文