相关疑难解决方法(0)

结构声明中的冒号是什么意思,例如:1,:7,:16或:32?

以下C++代码是什么意思?

unsigned char a : 1; 
unsigned char b : 7;
Run Code Online (Sandbox Code Playgroud)

我猜它会创建两个char a和b,并且它们都应该是一个字节长,但我不知道":1"和":7"部分是做什么的.

c c++ bit-fields

42
推荐指数
2
解决办法
4158
查看次数

在C中,冒号在声明中意味着什么?

可能重复:
'unsigned temp:3'表示什么

我正在学习一些内核代码,并且出现在以下行中(在linux 2.4中,sched.h,struct mm_struct):

unsigned dumpable:1;
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

c colon bit-fields

42
推荐指数
2
解决办法
2万
查看次数

在C中使用:运算符

可能的重复:
结构字段后的':number'是什么意思?
'unsigned temp:3'是什么意思

大家好,我讨厌问这类问题,但这真的让我烦恼,所以我会问:

以下代码中:运算符的功能是什么?

#include <stdio.h>

struct microFields
{
  unsigned int addr:9;
  unsigned int cond:2;
  unsigned int wr:1;
  unsigned int rd:1;
  unsigned int mar:1;
  unsigned int alu:3;
  unsigned int b:5;
  unsigned int a:5;
  unsigned int c:5;
};

union micro
{
  unsigned int microCode;
  microFields code;
};

int main(int argc, char* argv[])
{
  micro test;
  return 0;
} 
Run Code Online (Sandbox Code Playgroud)

如果有人关心,我从以下链接中提取此代码:http: //www.cplusplus.com/forum/beginner/15843/

我真的很想知道,因为我知道我在某个地方之前已经看过这个,而且当我再次看到它时我想要了解它.

谢谢!

c colon

28
推荐指数
2
解决办法
3万
查看次数

C代码后变量名后的冒号

可能重复:
'unsigned temp:3'表示什么

这是参考页面的C代码示例.

      signed int _exponent:8;
Run Code Online (Sandbox Code Playgroud)

在'8'和'8'之前结肠的含义是什么?

c syntax bit-fields

22
推荐指数
2
解决办法
2万
查看次数

这在c int a中是什么意思:16;?

可能重复:
'unsigned temp:3'是什么意思?

请注意这个符号是什么意思

int a:16;

我发现它是这样的代码,它确实编译.

struct name {int a:16; }

c c++ annotations programming-languages

9
推荐指数
2
解决办法
2万
查看次数

关于C++中类定义的问题":1"

可能重复:
'unsigned temp:3'表示什么

我在阅读Clang的代码时遇到了一个问题.

class LangOptions {
public:
    unsigned Trigraphs         : 1;  // Trigraphs in source files.
    unsigned BCPLComment       : 1;  // BCPL-style '//' comments.
    ...
};
Run Code Online (Sandbox Code Playgroud)

这是我第一次看到语法":1",":1"代表什么?谢谢!

c++ clang

8
推荐指数
1
解决办法
173
查看次数

结构C中":"的含义是什么

可能重复:
'unsigned temp:3'表示什么

  struct Test
  {
      unsigned a : 5;
      unsigned b : 2;
      unsigned c : 1;
      unsigned d : 5;
  };

  Test B;
  printf("%u %u %u %u", B.a, B.b, B.c, B.d); // output: 0 0 0 0
  static struct   Test A = { 1, 2, 3, 4};
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下:struct的目的是什么,printf只是输出0所以我认为这些不是默认值,但它们是什么呢?

也有人可以解释我为什么A.a, A.b, A.c, A.d输出1, 2, 1, 4而不是1, 2, 3, 4

c struct

6
推荐指数
1
解决办法
6888
查看次数

冒号在这个结构定义中做了什么?

可能重复:
'unsigned temp:3'表示什么

我不明白这个结构定义.这对我来说似乎是违法的,但显然不是:

typedef struct
{
    unsigned i:1;
} my_struct;
Run Code Online (Sandbox Code Playgroud)

我认为将变量标记为unsigned没有类型与将其标记为相同unsigned int.但是,我对结肠感到困惑.它有什么作用?我的猜测是它是某种初始化器,但我不知道它意味着什么.在我的头顶,我唯一期望在C中冒号的地方是三元运算符,这显然不是.所以,这似乎是一个我不熟悉的结构.任何人都可以在这个结构定义中解释冒号的目的是什么吗?宣言到底unsigned i:1;意味着什么?

c

5
推荐指数
1
解决办法
7187
查看次数

在C中'''做什么?

可能重复:
'unsigned temp:3'表示什么

我一直在尝试用C学习原始套接字编程,并且遇到过这样的问题:

unsigned char      iph_ihl:5, iph_ver:4;
Run Code Online (Sandbox Code Playgroud)

我对':'的含义感到困惑.它甚至做了什么吗?或者它只是变量名称的一部分?

c sockets syntax

4
推荐指数
1
解决办法
270
查看次数

什么是respawn:1意味着在c?

可能重复:
这在c int a中意味着什么:16; ?

:1意味着什么:

...
unsigned respawn:1;
unsigned just_respawn:1;
unsigned detached:1;
unsigned exiting:1;
unsigned exited:1;
} ngx_process_t;
Run Code Online (Sandbox Code Playgroud)

c syntax

3
推荐指数
1
解决办法
264
查看次数