返回结构的函数名
Function name for returning a struct
我想创建一个函数来更改一个已经存在的结构。所以该函数的 return 值应该是一个结构。如果我想要一个 int
作为 return 值,我调用函数“int example()
”...如果我想 return 一个结构,我该如何调用该函数?由于 "struct" 已被使用 — 我已经使用“struct whatever
”来创建一个。
如果你想让函数修改现有的结构,你应该通过指针传入结构:
void modify_thing(struct whatever *thing);
如果您想 return 修改 复制 结构,您可以 return 按值结构:
struct whatever edit_thing(const struct whatever *input);
请注意,通过指针而不是值传递结构变量通常更有效。
按值传递结构将导致编译器在内存中建立 1 个或多个只能用于该函数的保留区域。
这些内存区域中的每一个都由编译器插入对 memcpy() 的调用来操作。
最好传递一个指向结构的指针,然后 return 结构更新操作的 success/failure 的简单指示。
我想创建一个函数来更改一个已经存在的结构。所以该函数的 return 值应该是一个结构。如果我想要一个 int
作为 return 值,我调用函数“int example()
”...如果我想 return 一个结构,我该如何调用该函数?由于 "struct" 已被使用 — 我已经使用“struct whatever
”来创建一个。
如果你想让函数修改现有的结构,你应该通过指针传入结构:
void modify_thing(struct whatever *thing);
如果您想 return 修改 复制 结构,您可以 return 按值结构:
struct whatever edit_thing(const struct whatever *input);
请注意,通过指针而不是值传递结构变量通常更有效。
按值传递结构将导致编译器在内存中建立 1 个或多个只能用于该函数的保留区域。
这些内存区域中的每一个都由编译器插入对 memcpy() 的调用来操作。
最好传递一个指向结构的指针,然后 return 结构更新操作的 success/failure 的简单指示。