gpt4 book ai didi

c - 为什么对单语句主体使用 do {...} while(0) 宏?

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:37 25 4
gpt4 key购买 nike

<分区>

我在 include/linux/sched.h 中读到这个:

#define __set_task_state(tsk, state_value)              \
do { (tsk)->state = (state_value); } while (0)

我知道当涉及到主体中的多语句时,应该使用do {...} while (0)。但这只是正文中的一个语句,真的有必要使用do {...} while (0)吗?怎么样就如下:

#define __set_task_state(tsk, state_value)              \
((tsk)->state = (state_value))

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