为什么要在C编程中用括号将变量名包装起来?

时间:2019-07-17 12:33:45

标签: c

int (a);

int check(a) {
    return a % 2;
}

为什么要使用括号来包装变量名

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

这些括号是必需的,因为顺序很重要。在这种情况下,方括号([])优先。您可以继续处理更复杂的类型。但是这个想法是,在确定变量类型时,可以使用括号来设置“操作顺序”。您几乎总是可以将多余的括号添加为冗长的,但这不是必需的。