2016-03-29 64 views
-1

我挖SnoopSnitch的源代码时,我在它的图书馆这条线一经发现,写在C:我们可以在C中有没有名字的函数吗?

(_s, m); 

_s都结构,以便那是什么?

PS:检查this file的结尾以查看实际的源代码。

+4

这不是函数调用,只是'_s'和'm'的评估。在调试中可能有用。 – chux

+0

这是一个逗号运算符。 –

+2

也注意到C中的函数通常被称为函数,而不是方法,通常被称为属于类的函数的方法 – CarlH

回答

2

C根本没有“方法”,它有功能。

无论如何,您提供的代码不是函数调用,它是一个表达式语句。圆括号为其优先级重写分组函数提供服务,尽管不必要,逗号是逗号运算符,它将对两个操作数进行求值,并且结果为其第二个操作数的值。

由于结果未被使用且逗号的操作数是简单的变量名,因此该语句总体上没有副作用。我能想到的唯一目的就是@chux在评论中提出的一个目的:提供一个声明,您可以在其中插入用于调试的断点,特别是用于检查涉及到的两个变量的那一点的值。

相关问题