# 操作符

你可能需要查看[操作符](../common/gai-nian-yu-fa/cao-zuo-fu)

### 说明

```c
//左移操作符，补0
<<
//右移操作符
//如果是负数，则可能补0(逻辑方式)，也可能是补符号位（算术方式）-- 取决于编译器
>>
//移位操作不要传入 负数
```

`*`在 定义的时候表示指针类型，在使用的时候是间接访问

& 操作符表达的地址，无法作为左值的原因很粗暴，仅仅因为开发者无法获悉存储 右侧表达式结果的地址（其他不能作为左值的原因都是如此）。\
如`&temp = 2; &temp = address`

```
cp -> f 等同于 (*cp).f
```

### 优先级

![](https://3658134916-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LgffM5G7dsQPvYMapvV%2F-LgfpWTOvR7C9wsgFfnk%2F-Lgfx9N9VXO8U-_uvumH%2Foperator-priority.png?alt=media\&token=7218ed5d-6d98-4d33-91c1-5827b21eac71)

![](https://3658134916-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LgffM5G7dsQPvYMapvV%2F-LgfpWTOvR7C9wsgFfnk%2F-LgfxBu6hqYGM_YuUPbS%2Foperator-priority-1.png?alt=media\&token=95e6e12d-553a-405b-aadb-4b93feba45a0)

![](https://3658134916-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LgffM5G7dsQPvYMapvV%2F-LgfpWTOvR7C9wsgFfnk%2F-LgfxDqe5XFOdZOnlJZD%2Foperator-priority-group.png?alt=media\&token=325f19cb-c2a5-45c5-8152-455d16af96b1)
