- 目录 文章目录 目录题目 题目 #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...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签