6.7.7 类型名

语法

1、type-name:

specifier-qualifier-list    abstract-declaratoropt

abstract-declarator:

pointer

pointeropt    direct-abstract-declarator

direct-abstract-declarator:

(    abstract-declarator    )

direct-abstract-declaratoropt    [    type-qualifier-listopt    assignment-expressionopt   ]

direct-abstract-declaratoropt    [    static    type-qualifier-listopt    assignment-expression    ]

        direct-abstract-declaratoropt    [    type-qualifier-list    static    assignment-expression    ]

direct-abstract-declaratoropt    [    *    ]

direct-abstract-declaratoropt    (   parameter-type-listopt    )

语义

2、在若干个上下文中,有必要指定一个类型。这通过使用一个类型名来实现,这在语法上是对该类型的一个函数或一个对象的声明,此对象或函数省略了标识符。[注:正如语法所指定的那样,一个类型名中的空的圆括号被解释为“不带形参说明的函数”,而不是围在省略的标识符周围的冗余的圆括号。]

3、例 以下构造:

(a)    int

(b)    int *

(c)    int * [3]

(d)    int (*) [3]

(e)    int (*) [*]

(f)    int * ()

(g)    int (*) (void)

(h)    int (* const []) (unsigned int, ...)

分别命名了:(a)int,(b)指向int的指针,(c)带有三个指向int指针的数组,(d)指向一个带有三个int的数组的指针,(d)指向一个未指定int个数的可变长数组的指针,(f)不带有指定形参的,返回指向int的指针的函数,(g)指向不带有任何形参,返回一个int的函数的指针,(h)一个带有未知个数的,指向函数的常量指针的数组,函数的第一个参数类型是unsigned int,紧接着是未指定参数个数的形参,返回为一个int

ISO/IEC 9899:2011 条款6.7.7——类型名的更多相关文章

  1. ISO/IEC 9899:2011 条款6.7.3——类型限定符

    6.7.3 类型限定符 语法 1.type-qualifier: const restrict volatile _Atomic 约束 2.除了指针类型(其被引用的类型是一个对象类型)之外的类型,不应 ...

  2. ISO/IEC 9899:2011 条款6.7.8——类型定义

    6.7.8 类型定义 语法 1.typedef-name: identifier 约束 2.一个typedef名指定了一个可变修改的类型,然后它应该具有语句块作用域. 语义 3.在一个声明中,该声明的 ...

  3. ISO/IEC 9899:2011 条款6.7.2——类型说明符

    6.7.2 类型说明符 语法 1.type-specifier: void char short int long float double signed unsigned _Bool _Comple ...

  4. ISO/IEC 9899:2011 条款6.2.5——类型

    6.2.5 类型 1.存储在一个对象中的值或由一个函数所返回的值的意义由用于访问该对象的表达式的类型来确定.(声明为一个对象的一个标识符是最简单的这种表达式:其类型在标识符的声明中指定.)类型被划分为 ...

  5. ISO/IEC 9899:2011 条款6.2.6——类型的表示

    6.2.6 类型的表示 6.2.6.1 通用类型 1.所有类型的表示都是未指定的,除了在本小节所描述的之外. 2.除了位域(bit-field),对象由连续的一个或多个字节序列构成,这些字节序列的字节 ...

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

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

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

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

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

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

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

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

随机推荐

  1. python中的lambda、map、reduce、filter

    filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决 ...

  2. P4315 月下“毛景树”[树剖]

    题目描述 毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园. 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里. 爬啊爬~爬啊爬毛毛虫爬到了一颗小小的"毛景树&quo ...

  3. 《基于 Java EE 的高校重修管理系统设计与实现》论文笔记(九)

    标题:基于 Java EE 的高校重修管理系统设计与实现 一.基本信息 时间:2015 来源:河海大学文天学院 关键词::Java EE 架构: B/S 模式: 重修管理系统 二.研究内容 1.需求分 ...

  4. 抖音热门BGM爬虫下载

    下午无聊在某网上刷了会儿抖音,发现有些音乐还是挺好听的,可以用来做手机铃声,于是想办法从某网上把歌曲爬下来 附上代码: #!/usr/bin/env python # -*- coding: utf- ...

  5. 找回IntelliJ IDEA中丢失的Run Dashboard视图

    一般项目中包含多个springboot项目的时候都会出现run dashboard视图,但如果一开始它提示的时候,不点击展示,就再也找不到这个视图了,给我们后续启动一个一个的启动项目带来了很大的不便, ...

  6. 常见的C语言编程规范

    头文件: 1.头文件中适合放置接口的声明,不适合放置实现. 2.头文件应向稳定的方向包含,产品依赖于平台,平台依赖于标准库. 3. .c/.h文件禁止包含用不到的头文件. 4.每一个.c文件应有一个同 ...

  7. 关于Djiango中 前端多对多字段点(,)的显示问题

    去除点的方法: <td> {% for roles_son in roles.permissions.all %} {% if forloop.last %} # 利用模板语言中的循环机制 ...

  8. IDEA快速实现接口快捷方式

    IDEA快速实现接口快捷方式 ALT +INSERT

  9. 猴猴吃香蕉 背包DP

    猴猴吃香蕉 背包DP \(D\)次询问,第\(i\)次询问,每次有\(n_i\)个带权香蕉,问有多少方案使香蕉之积为\(k_i\),对结果取模\(1000000007\) \(n\le 10^3,k\ ...

  10. SPOJ简介。

    今天一如既往地在luogu刷题,发现了一个新OJ,就去网上查资料.得到了下面这些. 以下转载自这里 SPOJ是波兰最为出色的Online Judge之一,界面和谐,题目类型也非常丰富,适合有一定基础的 ...