C 预处理器语句是 C 语言的一部分吗?

2024-01-08

我记得我的一位教授在一门 C 语言入门课程中说过这样的话。他表示,#define预处理器命令使程序员能够创建一个常量以在以后的代码中使用,并且该命令是C语言的一部分.

/* Is this truly C code? */
#define FOO 42

由于这是在编程入门课上,我怀疑他只是简化了源文件和编译器之间的关系,但尽管如此,我还是想验证一下我的理解。

预处理器语句是否完全独立于 C 语言(取决于所使用的特定编译器),或者它们是否在C99标准?出于好奇,K&R 有没有提到过预处理器宏?


是的,该标准描述了预处理器。它是 C 语言的标准化部分。

注意#include是预处理器指令,对于代码模块化至关重要。

In the 公开可用的 C99 标准草案 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf,预处理器在 6.10 节中描述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 预处理器语句是 C 语言的一部分吗? 的相关文章

随机推荐

  • 服务器不读取客户端消息

    我再次需要套接字编程方面的帮助 现在 我想在使用命令单击按钮后将文本字段的值写入 Linux 中的远程服务器日志文件 echo textfieldValue gt gt filename 我在 Server java 中创建了两个线程 线程
  • 使用 Deno 编译时如何使用 lib.dom.d.ts 中的类型?

    我使用 Deno 编译一些 TypeScript 然后将其作为网页的一部分提供 以便它在浏览器端运行 我正在尝试在客户端使用画布元素 为此我需要类似的类型CanvasRenderingContext2D or CanvasGradient
  • BigQuery SQL:- 识别字符串中一行中的相同数字

    我想使用 SQL Bigquery 确定字符串何时连续出现 4 次以上相同的数字 例子 AAAAAB true BBBBAA false 111111 true 01010101010101 false 到目前为止 我已经尝试过使用正则表达
  • PHP聊天客户端

    我需要在 php js ajax 中创建一个聊天应用程序 需要将其集成到一个网站中 其中遇到的问题是创建一个聊天窗口 该窗口在浏览网站中的不同页面时需要保持不变 如果有人能提出更好的方法 我将不胜感激 提前致谢 至于实际的聊天应用程序 使用
  • 在 Powershell 中导入 CSV ,每 10 行分成多个文件

    我是 powershell 编码新手 我想做的是导入行数未知的 CSV 文件 然后每 10 行将其拆分为一个新的 CSV 文件 例如 如果我输入 97 行的 CSV 文件 我期望 9 个 10 行的文件和 1 个 7 行的文件 我尝试了以下
  • 浮点运算稳定吗? [复制]

    这个问题在这里已经有答案了 我知道浮点数有精度 精度后面的数字不可靠 但如果用于计算数字的方程相同怎么办 我可以假设结果也会相同吗 例如我们有两个浮点数x and y 我们可以假设结果吗x y机器1的结果和机器2的结果完全一样吗 IE 比较
  • 使用 NSOpenPanel 限制对某些文件夹的访问

    我使用 NSOpenPanel 允许用户选择一个文件夹来保存文档 我想限制它们可以保存到哪个文件夹 就层次结构而言 本质上 我想阻止他们选择上面的任何文件夹 用户 用户名 所以文件夹 用户 用户名 猫 可以接受 但是 用户 用户名 应用程序
  • DataGridView 单击事件并不总是触发

    我有一个DataGridView Its Cell Content Click每次我选择一个单元格时都不会触发 它确实会触发 但不是每次点击时都会触发 我想获取字符串变量 selected 中选定单元格的内容 这是我正在做的事情 priva
  • 在 Google Sheets 电子表格中按名称对工作表进行排序的脚本

    我使用 Google Sheets 电子表格来管理我正在处理的文件 我在任何给定时间都有大约 60 70 个文件 每个文件都有一个唯一的文件编号 每个文件在我的电子表格中都由一个以其文件号命名的唯一工作表表示 文件编号符合以下格式 例如 5
  • 配置文件的 Module.exports 与纯 json

    我看到有多种在 Node js 中创建配置文件的方法 一种在 js 文件中使用 module exports 一种仅使用纯 json 对象 config1 js module exports config 1 value 1 config
  • 使用 NetBeans IDE 在 Java DB 中创建自动增量键

    我来自 MySQL 世界 请帮忙 是否可以从 JavaDB 中的 NetBeans IDE 创建自动增量键 您使用一些更高级的数据库客户端吗 Thanks 这可能会帮助您 CREATE TABLE custinf CUST ID INT n
  • Azure函数:system.private.corelib:执行函数时出现异常

    我正在编写一个用于 PDF 转换的 Azure 函数 它依赖于 DataLogics PDF 转换和用于密码生成的 Nuget 包 mlkpwgen 功能有 using System IO using Microsoft AspNetCor
  • boost绑定类函数指针

    class Foo double f1 int x std string s1 double f2 int x SomeClass s2 我希望能够绑定 Foo f1 的 s1 而无需在 essense 中创建 foo 实例 typedef
  • 压缩或使用覆盖功能时如何在Jimp中保留EXIF数据?

    我尝试使用Jimp作为压缩上传到我的服务器的图像的库 但是 即使图像在我的计算机中旋转 当我将其上传到 jimp 时 我猜它不会处理 exif 方向数据并在压缩后保存未旋转的图片 image exifRotate 不过我在jimp里找到了这
  • 在本机反应中需要类('com.google.android.gms.location.FusedLocationProviderClient'的声明)

    这早些时候工作得很好 可能的未处理的 Promise 拒绝 id 0 错误 调用本机方法时遇到异常 在模块 ExpoLocation 上执行导出方法 getLastKnownPositionAsync 时发生异常 找到接口 com goog
  • Javascript 中相当于 Python 字典 get 方法的是什么

    Python 的字典 get 方法让我可以指定键不存在时应返回的内容 对于我当前的情况 我想要返回一本字典 我如何在 JavaScript 中执行此操作 没有与 python 字典 get 方法等效的 javascript 如果你自己编写它
  • 修改系统时钟时 boost::deadline_timer 可能会失败

    可以在以下位置阅读 https svn boost org trac boost ticket 3504 https svn boost org trac boost ticket 3504 一个定期超时的deadline timer 它是
  • 从 Objective-C 调用 Python

    bbum posted https stackoverflow com questions 1308079 calling python from objective c 1308469 1308469如何执行此操作的概述 但我无法完成详细
  • AngularJS - 从服务调用控制器函数

    我对 Angular 很陌生 我什至不确定我是否正确地构建了对此的搜索 整个指令和服务术语仍然让我有些困惑 但这不是我的问题 我从头到尾阅读了这个优秀的文章系列 http www ng newsletter com posts beginn
  • C 预处理器语句是 C 语言的一部分吗?

    我记得我的一位教授在一门 C 语言入门课程中说过这样的话 他表示 define预处理器命令使程序员能够创建一个常量以在以后的代码中使用 并且该命令是C语言的一部分 Is this truly C code define FOO 42 由于这