6.4.7 头文件名

语法

1、header-name:

<  h-char-sequence  >

        "  q-char-sequence  "

h-char-sequence:

h-char

h-char-seqeunce    h-char

h-char:

除了换行字符和 > 之外的任一源字符集的成员

q-char-sequence:

q-char

q-char-sequence    q-char

q-char:

除了换行字符和 " 以外的源字符集中的任一成员

语义

2、头文件名两种形式中的序列以实现定义的方式被映射到头文件或外部源文件名,正如在6.10.2中所指定的。

3、如果字符 '\"// ,或 /*<> 分隔符之间的序列中出现,那么行为是未定义的。类似的,如果字符 ' ,\ ," ,// ,或 /* 在 " 分隔符之间的序列中发生,那么行为也是未定义的。[注:从而,类似于转义序列的字符序列引发未定义的行为。]头文件名预处理标记仅在 #include 预处理指示符以及由实现定义的#pragma指示符内的区域中被识别。[注:对于头文件名预处理标记在一个 #pragma 指示符中使用的一个例子,见6.10.9]。

4、例  以下字符序列

    0x3<1/a.h>1e2

    #include <1/a.h>

    #define const.member@$

形成以下预处理标记序列(每个单独的预处理标记左边用一个 { ,右边用一个 } 来分隔)。

{0x3}{<}{1}{/}{a}{.}{h}{>}{1e2}

{#}{include}{<1/a.h>}

{#}{define}{const}{.}{member}{@}{$}

ISO/IEC 9899:2011 条款6.4.7——头文件名的更多相关文章

  1. ISO/IEC 9899:2011 条款3——术语、定义与符号

    3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...

  2. ISO/IEC 9899:2011 条款5——5.2.1 字符集

    5.2.1 字符集 1.两个字符集和它们相关联的依次顺序应该被定义:写在源文件中的集合(源字符集),以及在执行环境中被解释的集合(执行字符集).每个集合此外被划分为一个基本字符集,其内容由本子条款给出 ...

  3. ISO/IEC 9899:2011 条款6.4.2——标识符

    6.4.2 标识符 6.4.2.1 通用 语法 1.identifier: identifier-nodigit identifier    identifier-nondigit identifie ...

  4. ISO/IEC 9899:2011 条款6.4.3——通用字符名

    6.4.3 通用字符名 语法 1.通用字符名: universal_character-name: \u hex-quad(四位十六进制数) \U hex-quad hex-quad hex-quad ...

  5. ISO/IEC 9899:2011 条款5——5.1.2 执行环境

    5.1.2 执行环境 1.定义了两个执行环境:独立式(freestanding)以及宿主的(hosted).在这两种情况下,当一个派定的C函数被执行环境调用时,程序就启动.所有具有静态存储周期的对象应 ...

  6. ISO/IEC 9899:2011 条款4——标准顺从

    4. 标准顺从 1.在本国际标准中,“应该”被解释为对一个实现或一个程序的要求:相反地,“不该”被解释为禁用. 2.如果违反了出现在一个强制规定或运行时强制规定之外的“应该”或“不该”要求,那么该行为 ...

  7. ISO/IEC 9899:2011 条款6——语言

    6 语言 6.1 标记法 1.在本条款中所使用的语法标记法.语义类别(非终结符)用斜体字指示,而字面量单词以及字符集成员(终结符)用粗体字指示.跟在一个非终结符后面的冒号(:)引出其定义.在单独的行中 ...

  8. ISO/IEC 9899:2011 条款6.3——转换

    6.3 转换 1.有些操作符将操作数的值自动地从一种类型转换为另一种.本子条款指定了从这么一个隐式转换所要求的结果,以及从一个投射操作(一个显式转换)所要求的结果.在6.3.1.8中所列出的信息概括了 ...

  9. ISO/IEC 9899:2011 条款6.5——表达式

    6.5 表达式 1.一个表达式是操作符与操作数的一个序列,这些操作符与操作数指定了一个值的计算,或指派一个对象或一个函数,或是生成副作用,或执行上述操作的组合.对一个操作符的操作数的值计算顺序排在对该 ...

随机推荐

  1. 数据库索引碎片——数据库sql

    文章:检测和整理索引碎片 文章:[笔记整理]SQL Server 索引碎片 和 重建索引 文章介绍了检查表的索引碎片百分比 文章:[小问题笔记(八)] 常用SQL(读字段名,改字段名,打印影响行数,添 ...

  2. Lorenzo Von Matterhorn(map的用法)

    http://www.cnblogs.com/a2985812043/p/7224574.html 解法:这是网上看到的 因为要计算u->v的权值之和,我们可以把权值放在v中,由于题目中给定的u ...

  3. Gitlab,Mac下生成SSH Key

      git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置.简单的说,Git - 版本控制工具:Github是一个网站,提供给用户空间创建git仓储,保存 ...

  4. 使用 ajax 多次请求,并将结果集合并(ajax 非异步)

    直接上代码吧... 里面有注释 <!DOCTYPE html> <html> <head> <meta charset="utf-8" / ...

  5. codeforces#572Div2 D1---Add On A Tree【思维】

    题目:http://codeforces.com/contest/1189/problem/D1 题意:给定一棵树,可以选择任意两个叶子节点对他们的路径增加一定的权值. 问对于给定的这棵树,是否可以得 ...

  6. 59、servlet3.0-异步请求

    59.servlet3.0-异步请求 59.1 开启servlet异步请求步骤 支持异步处理 asyncSupported=true 开启异步模式 req.startAsync(); 业务逻辑进行异步 ...

  7. pytz

    pytz django的模型类中使用的 DateTimeField 字段,自动添加下来的携带有时区信息,2019-06-19T03:58:11.937945Z 在我的逻辑中需要对时间进行比较,我使用了 ...

  8. jQuery相关方法6----三大系列属性

    一.获取和设置元素的宽和高------width( )方法和height()方法 <!-- 点击按钮,设置div的宽和高为原来的两倍 --> <script src="ht ...

  9. CUDA编程前言

    GPU架构 GPU特别适用于 密集计算,高度可并行计算,图形学 晶体管主要被用于 执行计算,而不是缓存数据,控制指令流 GPU计算的历史 2001/2002 -- 研究人员把GPU当做数据并行协处理器 ...

  10. OS创建页目录和页

    ;开始创建页目录项(PDE) .create_pde: ; 创建Page Directory Entry mov eax, PAGE_DIR_TABLE_POS ; PAGE_DIR_TABLE_PO ...