繁体   English   中英

返回结构的函数名

[英]Function name for returning a struct

我想创建一个函数,在其中更改一个已经存在的结构。 因此,该函数的返回值应为struct。 如果我想要一个int作为返回值,则调用函数“ int example() ” ...如果我想返回一个结构,如何调用该函数? 因为已经使用了“ struct whatever ”,所以我已经采用“ struct whatever ”来创建一个。

如果要让函数修改现有结构,则应通过指针传递该结构:

void modify_thing(struct whatever *thing);

如果要返回该结构的修改后的副本 ,则可以按值返回该结构:

struct whatever edit_thing(const struct whatever *input);

注意,通过指针而不是通过值传递结构变量通常更有效。

按值传递结构将导致编译器在内存中建立1个或多个只能用于该功能的保留区。

这些存储区中的每一个都由编译器插入对memcpy()的调用来操纵。

最好将一个指针传递给该结构,然后返回一个简单的指示结构更新操作成功/失败的指示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM