在C语言中可以有一个没有名字的函数吗?
我在挖掘的时候在它的一个库中发现了这行代码,是用C写的:在C语言中可以有一个没有名字的函数吗?,c,C,我在挖掘的时候在它的一个库中发现了这行代码,是用C写的: (_s, m); _s和m都是结构,那么它是什么呢 PS:检查结尾以查看实际的源代码。C根本没有方法,它有函数 在任何情况下,您提供的代码都不是函数调用,而是表达式语句。圆括号用于它们的优先级覆盖分组函数,尽管这是不必要的,而逗号是逗号运算符,用于计算两个操作数,结果是第二个操作数的值 由于结果未使用,并且逗号的操作数是简单的变量名,因此语句总体上没有副作用。我能想到的唯一目的是@chux在评论中建议的一个目的:提供一个语句,在其中可以
(_s, m);
_s和m都是结构,那么它是什么呢
PS:检查结尾以查看实际的源代码。C根本没有方法,它有函数 在任何情况下,您提供的代码都不是函数调用,而是表达式语句。圆括号用于它们的优先级覆盖分组函数,尽管这是不必要的,而逗号是逗号运算符,用于计算两个操作数,结果是第二个操作数的值
由于结果未使用,并且逗号的操作数是简单的变量名,因此语句总体上没有副作用。我能想到的唯一目的是@chux在评论中建议的一个目的:提供一个语句,在其中可以插入断点进行调试,特别是检查所涉及的两个变量在该点的值。这不是函数调用,只是对_sthen m的评估。可能对调试有用。它是一个逗号运算符。还要注意,C中的函数通常被称为函数,而不是方法,方法通常被称为属于类的函数。一些C实现允许匿名函数,但您发布的不是其中之一。@n.m.我刚刚理解了什么是逗号运算符,但是在那种情况下。。。他们为什么不使用返回的值?