星号和函数名称之间的空格

时间:2014-10-03 03:22:42

标签: c function pointers

这是:

int * my_function( int variable )

与此相同:

int *my_function( int variable )

我理解第一个选项是一个函数,它将一个指针(没有名称)返回给一个整数,但第二个是一个函数(没有名字),它返回一个名为my_function的指针,指向一个整数。

4 个答案:

答案 0 :(得分:4)

两者都是一样的。在这两种情况下,函数my_function都会返回指向ineteger的指针

答案 1 :(得分:4)

空间无关紧要。在这两种情况下,函数的类型都是相同的。

答案 2 :(得分:2)

 int * my_function( int variable );//fun my_function returns pointer to integer

 int *my_function( int variable );//here also fun my_function returns pointer to integer

for Function返回指针第二个声明是通用的方式..syntax是

 type   *func (type1, type2,...); 

答案 3 :(得分:0)

如果我记得很清楚,争论的焦点是“*”是该类型的一部分还是只是一个修饰语。 所以char * cptr意味着cptr是'指向字符的指针'类型的变量而char * cptr是一个指向字符的类型的变量(或类似的语法hasseling)。