首页 >后端开发 >C++ >为什么 C 变量声明中的括号不会改变类型?

为什么 C 变量声明中的括号不会改变类型?

Barbara Streisand
Barbara Streisand原创
2024-11-01 02:09:02542浏览

Why Do Parentheses in C   Variable Declarations Not Change the Type?

C 变量声明中的括号

考虑以下代码:

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

变量周围括号的使用声明整数;可能会出乎意料,因为它创建了一个名为 s 的有效变量。此行为源于 C 标准的特定部分,称为“声明符规则的含义”,可在 [dcl.meaning] 中找到。

根据此规则,当括号括起声明时,变量的类型所宣布的内容保持不变。在您的示例中, 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