<分区>
我一直在努力提高我对 C/C++ 的理解,但我正在研究函数的包含,例如我经常使用的 printf
。但是,我遇到了一种我不熟悉,也找不到的语法。
“:
”是什么意思?例如:
unsigned int is_long_double:1;
它似乎是 bool 表达式的某种前身。
<分区>
我一直在努力提高我对 C/C++ 的理解,但我正在研究函数的包含,例如我经常使用的 printf
。但是,我遇到了一种我不熟悉,也找不到的语法。
“:
”是什么意思?例如:
unsigned int is_long_double:1;
它似乎是 bool 表达式的某种前身。
最佳答案
它将变量定义为长度为 1 位的位域。
它只在结构中有效,并且只有在同时具有多个位域时才有意义。
不要将它用作通用 bool 值,因为它不会节省内存 - 单个位域本身仍会占用一个完整的内存字。
关于c - 变量声明中 ':'的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37848774/