c - 变量声明中 ':'的作用

标签 c include

<分区>

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

unsigned int is_long_double:1;

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

最佳答案

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

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

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

关于c - 变量声明中 ':'的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37848774/

相关文章:

c - 传递 __VA_ARGS__ 时第一个参数是错误的

c++ - C++中装饰器模式的多态应用与耦合问题

c++ - 在 C++ 中共享文件夹中的函数

c++ - 在 C++ 中,为什么我不必包含任何内容来使用 sqrt() 函数?

c - 如何在内核源代码中使用函数?

php - Pycrc 和 PHP 代码的 CRC32 计算与预期结果不匹配

C 遍历目录并成对打印条目

c++ - 如何为想要公开相互递归函数的仅 header 库组织包含?

OpenMP 可能无法直接并行化的代码

创建我自己的 strupr 函数,但它不起作用