Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据函数在C中返回值的方式,是否有一些可接受的函数名?_C - Fatal编程技术网

根据函数在C中返回值的方式,是否有一些可接受的函数名?

根据函数在C中返回值的方式,是否有一些可接受的函数名?,c,C,我知道在C语言中,我们可以通过返回语句或使用参数中的指针从函数中获取值 简单的例子: int myfunction(); void anotherfunction(int*arg); C开发人员是否使用公认的名称来区分(识别)这两种函数 编辑: 我问这个问题是因为我用Clang编写了一个ruby C头解析器,我用它生成一些ruby绑定(请参阅)。当我必须将C函数转换为ruby函数/方法时,如果函数返回值或使用参数指针,我必须以不同的方式处理函数 在我的代码中,我希望使用一致的名称来标识它们,而

我知道在C语言中,我们可以通过返回语句或使用参数中的指针从函数中获取值

简单的例子:

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最初的问题很清楚,可以理解我的答案。现在已经编辑好了。编辑该答案的人也未能编辑我的答案。现在我编辑了这个。