首页  >  文章  >  后端开发  >  C 变量声明中何时以及为何使用括号?

C 变量声明中何时以及为何使用括号?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-31 23:55:29766浏览

When and Why Are Parentheses Used in C   Variable Declarations?

C 中变量声明中的括号

C 编程中出现了一个特殊的现象:将变量声明括在括号内的能力。这方面引起了人们的兴趣,引发了对其功能的质疑。

考虑代码片段:

<code class="cpp">int main() {
    int(s);
}</code>

令人惊讶的是,这段代码创建了一个名为 s 的有效变量,促使进一步调查底层机制.

根据 C 标准中的 [dcl.meaning]:

“在声明 T D 中,其中 D 具有形式 ( D1 ),所包含的 declarator-id 的类型相同作为声明 T D1 中包含的 declarator-id 的类型。”

此语句表示括号不会更改嵌入的 declarator-id 的类型(在本例中为 s)。但是,它们可能会影响复杂声明符的绑定。

简单地说,括号可以包含 C 语法中的任何声明符。例如,在给定的代码中,s 是一个声明符,括号不会修改其含义。

在处理更复杂的场景时,括号的用处变得显而易见。考虑这个例子:

<code class="cpp">int * a [10];     // a is an array of ten pointers to int.
int ( * b ) [10]; // b is a pointer to an array of ten ints.</code>

在这种情况下,括号可以有效地区分两种指针类型。没有它们,这些声明的解释将不清楚。

以上是C 变量声明中何时以及为何使用括号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn