什么和&代表C和mmap()

时间:2013-02-18 03:18:57

标签: c mmap

int fd = open("/dev/mem", O_RDWR);
present = (unsigned char *)mmap(0, 
              getpagesize(), 
              PROT_READ|PROT_WRITE, 
              MAP_SHARED, 
              fd, 
              0x22400000);

if ((*present & 1) == 0)
{
  printf("Converter not present\n");
  exit(1);
}

1)'&'是什么运算符在前面的代码中是什么意思?

1 个答案:

答案 0 :(得分:4)

这是bitwise and operator。这意味着操作的结果是执行两个操作数的二进制and,但是逐位(以按位方式),即

在这种情况下,它检查当前指向的内存的第一位是否为0.

相关问题