C 中的声明和原型有什么区别?在哪些情况下它们被称为声明以及原型?
TL;DR;所有原型都是声明,但并非所有声明都是原型。
宣言是标准中使用的通用术语,原型更具体。
Quoting C11
,第 §6.7 章
声明指定一组标识符的解释和属性。 [...]
并从 §6.7.6 开始,
每个声明符声明一个标识符,并断言当操作数相同时
形式作为声明符出现在表达式中,它指定一个函数或对象
声明说明符指示的范围、存储持续时间和类型。
另一方面,根据第 §6.2.1 章
[....] 一个功能
原型是函数的声明,声明其参数的类型。
因此,原型是一种更完整的声明形式(包括参数类型)。
关于“标识符”:第 §6.4.2.1 章,
标识符是非数字字符的序列(包括下划线_
, 这
小写和大写拉丁字母以及其他字符)和数字,它们指定
6.2.1 中描述的一个或多个实体。 [...]
在第 §6.2.1 章中,
标识符可以表示一个对象;一个函数;结构、联合或的标签或成员
枚举; typedef 名称;标签名称;宏名称;或宏参数。 [...]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)