gpt4 book ai didi

C:做 {...} while(0)?

转载 作者:太空狗 更新时间:2023-10-29 16:50:40 27 4
gpt4 key购买 nike

<分区>

Possible Duplicates:
Why are there sometimes meaningless do/while and if/else statements in C/C++ macros?
do { … } while (0) what is it good for?

我正在编写一些像这样充满宏的 C 代码:

#define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0)

谁能解释这个宏的作用,以及为什么需要 do {} while(0)?那不就只执行一次代码吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com