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中文网其他相关文章!