也是C中的声明符(在参数声明中使用时)吗?

6.7.6声明者

每个声明符声明一个标识符 ,并断言当与声明符相同的表单的操作数出现在表达式中时,它指定一个函数或对象,其范围,存储持续时间和声明说明符指示的类型。

并且还说明了参数的语法

parameter-declaration: declaration-specifiers declarator declaration-specifiers abstract-declarator(opt) 

对于给定的函数原型

 int f( int a[], int n); 

int a[]使用声明符a int a[]声明一个参数,声明一个标识符a


如果是的话

 int f( int [], int n); 

int [] declares参数是一个int数组,没有标识符。
[]也是声明者吗? (我认为不是因为它没有声明标识符,但参数的语法表明它是!)

在无标识符参数声明中,您有一个抽象声明符。 也就是说, int f(int [], int n)中的int f(int [], int n)是数组的抽象声明符。 您可以在§6.7.6 声明符和ISO / IEC 9899:2011中的§6.7.7 类型名称 (C11标准)中找到更多内容。