繁体   English   中英

c 和 c++ 中类似函数的奇怪语法

[英]strange function-like syntax in c and c++

以下编译:

main()
{
    int(asdf);

}

这似乎是某种奇怪的声明。 我试图找到这样的代码,但找不到。 有人可以解释吗?

结果是这条线

int(asdf);

相当于

int asdf;

这显然声明了一个名为asdf的普通局部变量。

但是无论是否需要,您都可以在声明符的各个部分加上括号。 所以如果你写是一样的

int asdf;

要么

int (asdf);

要么

int ((asdf));

声明符中允许使用括号,因为有时它们是区分重要内容所必需的。 例如,

int *ap[10];

声明一个包含 10 个指针的数组,而

int (*pa)[10];

声明一个指向数组的指针。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM