':' 在变量声明中的作用

Function of ':' in declaration of variables

我一直在努力提高我对 C/C++ 的理解,但我正在查看函数的包含,例如我经常使用的 printf。但是,我 运行 遇到了一种我不熟悉的语法,我也找不到。 “:”是什么意思?例如:

unsigned int is_long_double:1;

它似乎是布尔表达式的某种前身。

它将变量定义为长度为 1 位的位域。

它只在结构中有效,并且只有在同时具有多个位域时才有意义。

不要将它用作通用布尔值,因为它不会节省内存 - 单个位域本身仍会占用一个完整的内存字。