gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 08:39:37 25 4
gpt4 key购买 nike

6.7.6 声明符

Each declarator declares one identifier, and asserts that when an operand of the same form as the declarator appears in an expression, it designates a function or object with the scope, storage duration, and type indicated by the declaration specifiers.

还说明了参数的语法:

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

对于给定的函数原型(prototype)

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

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


如果是

int f( int [], int n);

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

最佳答案

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

关于c - [ ] 也是 C 中的声明符(在参数声明中使用时)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17793829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com