[英]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.