int (a);
int check(a) {
return a % 2;
}
答案 0 :(得分:4)
那么为什么我们需要声明如下类型:int check(int a){...}
由此很明显,您是在指功能而不是变量本身。该部分代码定义了一个函数。
因此,我们将代码中的两件事分开:
int (a);
声明变量a
。正如@ eyl327所说:
int(a)之间没有区别;和int a;
因此您可以根据需要将int称为:现在它具有与函数定义中使用的变量相同的名称,这只是巧合。例如,可以是int my_integer;
。
int check(a) {
return a % 2;
}
这里定义了一个接收整数的函数,该函数将返回该int的模2(如果您不知道这是什么意思,可以读this)。
缺少接收该函数的变量的类型。应该是:
int check(int a) {
return a % 2;
}
现在,我认为您的代码中使用的组合可能是有效的,但是我以前从未见过,如果您现在正在学习,我建议您熟悉传统的定义方式变量和函数。
希望这会有所帮助!
答案 1 :(得分:0)
据我所知,您正在询问变量声明。该函数使用正确的语法,但a
的类型除外,例如int check(int a) {...}
。
对于变量声明,圆括号充当数学圆括号,因为它们指示确定变量类型的顺序。在您的情况下,这不会更改变量(它仍然是int)。
但是,您可以具有需要括号的更复杂的类型。例如:
int (*aptr)[3]; //aptr is a pointer to an array of 3 integers
int *bptr[3]; //bptr is an array of 3 integer pointers
这些括号是必需的,因为顺序很重要。在这种情况下,方括号([])优先。您可以继续处理更复杂的类型。但是这个想法是,在确定变量类型时,可以使用括号来设置“操作顺序”。您几乎总是可以将多余的括号添加为冗长的,但这不是必需的。