簡體   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