根据函数在C中返回值的方式,是否有一些可接受的函数名?
我知道在C语言中,我们可以通过返回语句或使用参数中的指针从函数中获取值 简单的例子:根据函数在C中返回值的方式,是否有一些可接受的函数名?,c,C,我知道在C语言中,我们可以通过返回语句或使用参数中的指针从函数中获取值 简单的例子: int myfunction(); void anotherfunction(int*arg); C开发人员是否使用公认的名称来区分(识别)这两种函数 编辑: 我问这个问题是因为我用Clang编写了一个ruby C头解析器,我用它生成一些ruby绑定(请参阅)。当我必须将C函数转换为ruby函数/方法时,如果函数返回值或使用参数指针,我必须以不同的方式处理函数 在我的代码中,我希望使用一致的名称来标识它们,而
int myfunction();
void anotherfunction(int*arg);
C开发人员是否使用公认的名称来区分(识别)这两种函数
编辑:
我问这个问题是因为我用Clang编写了一个ruby C头解析器,我用它生成一些ruby绑定(请参阅)。当我必须将C函数转换为ruby函数/方法时,如果函数返回值或使用参数指针,我必须以不同的方式处理函数
在我的代码中,我希望使用一致的名称来标识它们,而不是:
FunctionThatReturnValueByReturn
FunctionThatReturnValueByPointer
用名字来描述他们的工作
另外,像
is
get
set
这样的前缀也很常见我使用按值返回来获取新的对象/变量
我使用指针返回来修改一个或多个对象/变量
无论您使用哪种名称,这些名称都是为了便于理解。确保您能够理解函数对其名称的作用
对于添加两个int
s的函数,可以使用intadd(inta,intb)代码>
如果可以在“和”下,也可以将其命名为intx(inta,intb)
,即使首选第一种方法。C是否允许删除副本?在这种情况下,作为一阶近似值,我不会使用第二阶近似值。除此之外,我会尽量避免使用手动名称mangling@cedlemo我建议在问题中添加Ruby标记,因为这是其他Ruby用户可能遇到的问题。不,这都是与C有关的,我只想知道,对于这类函数,有一些公认的名称,比如返回void的函数,通常称为void函数。仅此而已。不,因为它对C程序员没有任何作用。返回类型和参数类型记录在函数原型中。因此,函数名中不需要该信息。函数名描述函数的功能。因此,如果将C与Ruby接口使得需要将函数原型编码到函数名中,那是Ruby的问题,而不是C的问题。Maroun的评论和Ed的回答几乎涵盖了这一点。除了一致性和描述它们的作用之外,唯一的其他偏好(个人)是进一步对您正在操作的类型对象进行分类。(例如,对于字符串函数str_settitle
,str_gettitle
,str_islower
,等等)如果创建表示点(x,y,z)的stuct,则pt_set_x
。。。在使用代码文档实用程序(如doxygen)时,它有助于保持逻辑的干净性和可读性,并提供易于识别的功能。您所说的第一类和第二类是什么意思?我不是在挑你的毛病,我是想了解你的建议是什么?@DavidC.Rankin可能指的是问题中的第一个和第二个功能原型。@DavidC.Rankin最初的问题很清楚,可以理解我的答案。现在已经编辑好了。编辑该答案的人也未能编辑我的答案。现在我编辑了这个。