- 目录 文章目录 目录题目 题目 #include <stdio.h> int main(void) { int i[4] = {i[2] = 2}; printf("%d %d %d %d\n", i[0], i[1], i[2], i[3]); return 0; } 1234567 本题考察的是 Sequence Point(序列点... 目录 文章目录 目录题目 题目 #include <stdio.h> int main(void) { int i[4] = {i[2] = 2}; printf("%d %d %d %d\n", i[0], i[1], i[2], i[3]); return 0; } 1234567 本题考察的是 Sequence Point(序列点...
- 目录 文章目录 目录前文列表实现跨平台的可移植性使用预处理器指令 前文列表 《用 C 语言开发一门编程语言 — 交互式解析器l》 实现跨平台的可移植性 理想情况下,我希望我的代码可以在任何操作系统上编译并运行,即程序的可移植性(Portability)问题。在 C 语言中,可以使用预处理器来解决这个问题。 使用预处理器指令 预处理器(CPP... 目录 文章目录 目录前文列表实现跨平台的可移植性使用预处理器指令 前文列表 《用 C 语言开发一门编程语言 — 交互式解析器l》 实现跨平台的可移植性 理想情况下,我希望我的代码可以在任何操作系统上编译并运行,即程序的可移植性(Portability)问题。在 C 语言中,可以使用预处理器来解决这个问题。 使用预处理器指令 预处理器(CPP...
- 目录 文章目录 目录const 关键字修饰常量修饰指针修饰函数形参修饰函数返回值 const 关键字 const 是 Constant(常量)的简写,有 3 大作用: 修饰常量,说明该常量的数值不可以被改变;修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer);修饰形参,指向常量的... 目录 文章目录 目录const 关键字修饰常量修饰指针修饰函数形参修饰函数返回值 const 关键字 const 是 Constant(常量)的简写,有 3 大作用: 修饰常量,说明该常量的数值不可以被改变;修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer);修饰形参,指向常量的...
- 目录 文章目录 目录前文列表头文件只引用一次头文件有条件引用global.h 前文列表 《程序编译流程与 GCC 编译器》 《C 语言编程 — 基本语法》 《C 语言编程 — 基本数据类型》 《C 语言编程 — 变量与常量》 《C 语言编程 — 运算符》 《C 语言编程 — 逻辑控制语句》 《C 语言编程 — 函数》 《C 语言编程 — 高级数据类型 ... 目录 文章目录 目录前文列表头文件只引用一次头文件有条件引用global.h 前文列表 《程序编译流程与 GCC 编译器》 《C 语言编程 — 基本语法》 《C 语言编程 — 基本数据类型》 《C 语言编程 — 变量与常量》 《C 语言编程 — 运算符》 《C 语言编程 — 逻辑控制语句》 《C 语言编程 — 函数》 《C 语言编程 — 高级数据类型 ...
- 目录 文章目录 目录前文列表编程语言的本质词法分析语法分析使用 MPC 解析器组合库安装快速入门 实现波兰表达式的语法解析波兰表达式正则表达式代码实现 前文列表 《用 C 语言开发一门编程语言 — 交互式解释器l》 《用 C 语言开发一门编程语言 — 跨平台的可移植性》 编程语言的本质 在 19 世纪 50 年代,语言学家 Noam Ch... 目录 文章目录 目录前文列表编程语言的本质词法分析语法分析使用 MPC 解析器组合库安装快速入门 实现波兰表达式的语法解析波兰表达式正则表达式代码实现 前文列表 《用 C 语言开发一门编程语言 — 交互式解释器l》 《用 C 语言开发一门编程语言 — 跨平台的可移植性》 编程语言的本质 在 19 世纪 50 年代,语言学家 Noam Ch...
- 目录 文章目录 目录前文列表字符串读取字符串注释文件加载函数命令行参数打印函数报错函数源代码 前文列表 《用 C 语言开发一门编程语言 — 交互式解析器》 《用 C 语言开发一门编程语言 — 跨平台的可移植性》 《用 C 语言开发一门编程语言 — 语法解析器》 《用 C 语言开发一门编程语言 — 抽象语法树》 《用 C 语言开发一门编程语言 — 异常处... 目录 文章目录 目录前文列表字符串读取字符串注释文件加载函数命令行参数打印函数报错函数源代码 前文列表 《用 C 语言开发一门编程语言 — 交互式解析器》 《用 C 语言开发一门编程语言 — 跨平台的可移植性》 《用 C 语言开发一门编程语言 — 语法解析器》 《用 C 语言开发一门编程语言 — 抽象语法树》 《用 C 语言开发一门编程语言 — 异常处...
- 目录 文章目录 目录线程安全与线程非安全C 语言的线程非安全函数(不可重入函数) 线程安全与线程非安全 多线程程序中,线程安全是必须要考虑的因素。 线程安全(Thread Safe)就是在多线程环境中,多个线程在同一时刻对同一份资源(e.g. 寄存器、内存空间、全局变量、静态变量 etc.)进行写操作(读操作不会涉及线程安全的问题)时,不会出现数据不... 目录 文章目录 目录线程安全与线程非安全C 语言的线程非安全函数(不可重入函数) 线程安全与线程非安全 多线程程序中,线程安全是必须要考虑的因素。 线程安全(Thread Safe)就是在多线程环境中,多个线程在同一时刻对同一份资源(e.g. 寄存器、内存空间、全局变量、静态变量 etc.)进行写操作(读操作不会涉及线程安全的问题)时,不会出现数据不...
- 目录 文章目录 目录前文列表数据类型转换隐式(自动)类型转换常用的算术转换 显式(强制)类型转换 字符串转换为数字类型:atoi、atol、atof 前文列表 《程序编译流程与 GCC 编译器》 《C 语言编程 — 基本语法》 《C 语言编程 — 基本数据类型》 《C 语言编程 — 变量与常量》 《C 语言编程 — 运算符》 《C 语言编程 — 逻... 目录 文章目录 目录前文列表数据类型转换隐式(自动)类型转换常用的算术转换 显式(强制)类型转换 字符串转换为数字类型:atoi、atol、atof 前文列表 《程序编译流程与 GCC 编译器》 《C 语言编程 — 基本语法》 《C 语言编程 — 基本数据类型》 《C 语言编程 — 变量与常量》 《C 语言编程 — 运算符》 《C 语言编程 — 逻...
- 目录 文章目录 目录前文列表共用体定义共用体访问共用体成员 前文列表 《程序编译流程与 GCC 编译器》 《C 语言编程 — 基本语法》 《C 语言编程 — 基本数据类型》 《C 语言编程 — 变量与常量》 《C 语言编程 — 运算符》 《C 语言编程 — 逻辑控制语句》 《C 语言编程 — 函数》 《C 语言编程 — 高级数据类型 — 指针》 《C ... 目录 文章目录 目录前文列表共用体定义共用体访问共用体成员 前文列表 《程序编译流程与 GCC 编译器》 《C 语言编程 — 基本语法》 《C 语言编程 — 基本数据类型》 《C 语言编程 — 变量与常量》 《C 语言编程 — 运算符》 《C 语言编程 — 逻辑控制语句》 《C 语言编程 — 函数》 《C 语言编程 — 高级数据类型 — 指针》 《C ...
- 目录 文章目录 目录断言利用断言来提高代码的可测试性自定义断言来满足需求尽量在函数中使用断言来检查参数的合法性避免在断言表达式中使用改变环境的语句避免使用断言去检查程序错误在防错性程序设计中使用断言来进行错误报警用断言保证没有定义的特性或功能不被使用谨慎使用断言对程序开发环境中的假设进行检查assert 使用风格参考文档 断言 在 C 语言中,断言被定... 目录 文章目录 目录断言利用断言来提高代码的可测试性自定义断言来满足需求尽量在函数中使用断言来检查参数的合法性避免在断言表达式中使用改变环境的语句避免使用断言去检查程序错误在防错性程序设计中使用断言来进行错误报警用断言保证没有定义的特性或功能不被使用谨慎使用断言对程序开发环境中的假设进行检查assert 使用风格参考文档 断言 在 C 语言中,断言被定...
- 目录 文章目录 目录数组类型强制类型转换为结构体结构体之间的强制类型转换 数组类型强制类型转换为结构体 先看一个例子: #include <stdio.h> int main(void) { unsigned char arr[] = "0123456789abcdefghijk"; struct A { int a; char b;... 目录 文章目录 目录数组类型强制类型转换为结构体结构体之间的强制类型转换 数组类型强制类型转换为结构体 先看一个例子: #include <stdio.h> int main(void) { unsigned char arr[] = "0123456789abcdefghijk"; struct A { int a; char b;...
- 先说一下C语言中的static,然后接着说C++中的static。 C语言中的static作用: 1.修饰变量:static关键字用于修改标识符的链接属性,从external改为internal,但标识符的存储类型和作用域不受影响,会延长它的生存周期。static修饰全局变量,全局变量具有外延性,被static修饰后,作用域仅限... 先说一下C语言中的static,然后接着说C++中的static。 C语言中的static作用: 1.修饰变量:static关键字用于修改标识符的链接属性,从external改为internal,但标识符的存储类型和作用域不受影响,会延长它的生存周期。static修饰全局变量,全局变量具有外延性,被static修饰后,作用域仅限...
- extern的作用: 定义:extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。 举个栗子: extern_test.h文件#ifndef E... extern的作用: 定义:extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。 举个栗子: extern_test.h文件#ifndef E...
- C 语言内存管理指对系统内存的分配、创建、使用这一系列操作。在内存管理中,由于是操作系统内存,使用不当会造成毕竟麻烦的结果。本文将从系统内存的分配、创建出发,并且使用例子来举例说明内存管理不当会出现的情况及解决办法。一、内存 在计算机中,每个应用程序之间的内存是相互独立的,通常情况下应用程序 A 并不能访问应用程序 B,当然一些特殊技巧可以访问,但此文并不详细进行说明。例如在计... C 语言内存管理指对系统内存的分配、创建、使用这一系列操作。在内存管理中,由于是操作系统内存,使用不当会造成毕竟麻烦的结果。本文将从系统内存的分配、创建出发,并且使用例子来举例说明内存管理不当会出现的情况及解决办法。一、内存 在计算机中,每个应用程序之间的内存是相互独立的,通常情况下应用程序 A 并不能访问应用程序 B,当然一些特殊技巧可以访问,但此文并不详细进行说明。例如在计...
- 1、位运算 可以使用 C 对变量中的个别位进行操作。您可能对人们想这样做的原因感到奇怪。这种能力有时确实是必须的,或者至少是有用的。C 提供位的逻辑运算符和移位运算符。在以下例子中,我们将使用二进制计数法写出值,以便您可以了解对位发生的操作。在一个实际程序中,您可以使用一般的形式的整数变量或常量。例如不适用 00011001 的形式,而写为 25 或者 031 或者 0x1... 1、位运算 可以使用 C 对变量中的个别位进行操作。您可能对人们想这样做的原因感到奇怪。这种能力有时确实是必须的,或者至少是有用的。C 提供位的逻辑运算符和移位运算符。在以下例子中,我们将使用二进制计数法写出值,以便您可以了解对位发生的操作。在一个实际程序中,您可以使用一般的形式的整数变量或常量。例如不适用 00011001 的形式,而写为 25 或者 031 或者 0x1...
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签