“类型和大小说明符” - 术语

时间:2010-02-23 12:35:08

标签: c compiler-construction compiler-theory

采取以下片段:

 1  #include <stdio.h>
 2  #include <stdlib.h>
 3  int foo(char [6]);
 4
 5  int main(void) {
 6          char* bar="hello";
 7          return foo(bar);
 8  }
 9
10  int foo(char f[6]) {
11          return EXIT_SUCCESS;
12  }
13

第3行“char [6]”的正确技术术语是什么?我将其称为“类型和大小说明符”,它仅描述了编译器使用的内容。

我用来调用“函数的调用堆栈签名”或简称为“函数签名”的整行3。 “函数声明”或“函数原型”也是正确的,而不是“函数实现”。

注意:您无需向我解释有关调用堆栈,帧,调用约定等的所有内容。人。我只是在那里寻找合适的术语。不是整行3,只是如何调用一个单一的说明符,如“char [6]”。

2 个答案:

答案 0 :(得分:4)

在C标准(ISO 9899:1999)中,这是参数类型说明符,如果该说明符中没有标识符,则该参数被称为未命名

“size”的任何概念都是该类型的一部分(具有未知大小的数组类型被称为不完整)。请注意,这里,[6]构造没有定义数组类型,而是指针类型(参数列表中的顶级数组声明符会自动转换为指针声明符,并忽略推定的数组大小。)

答案 1 :(得分:1)

在C语法中,第3行的char [6]parameter-type-list,由一个parameter-list组成,由parameter-declaration组成。

parameter-declarationdeclaration-specifierchar)和abstract-declarator[6])组成。