【发布时间】:2013-07-22 17:34:30
【问题描述】:
6.7.6 声明符说
每个声明器声明一个标识符,并断言当相同的操作数 当声明符出现在表达式中时,它用 声明说明符指示的范围、存储期限和类型。
并且还说明了参数的语法:
parameter-declaration:
declaration-specifiers declarator
declaration-specifiers abstract-declarator(opt)
对于给定的函数原型
int f( int a[], int n);
int a[] 用声明符 a[] 声明一个参数,它声明了一个标识符 a。
如果是
int f( int [], int n);
int [] 声明参数是一个 int 数组,没有标识符。[] 也是声明符吗?(我认为不是,因为它没有' t 声明一个标识符,但参数的语法说它是!)
【问题讨论】:
-
每个声明器声明一个标识符。
[]是一个抽象声明符。 -
@n.m.;什么是抽象声明符?我只是在考虑这个!
-
@n.m.;谢谢。 Here 是。
-
你引用了一个提到它的作品。我猜这个定义应该在 6.7.7 左右。