C语言中&是什么意思?

C语言中&可以作为“按位与”或是“取地址”运算符,按位与运算符也是双目运算符,其功能是参与运算的两数各对应的二进位相与,而取地址运算符就是一元运算符,会将运算结果设置为右操作对象的地址。

按位与运算符

是将二进制数按照位的对应相与,得到一个新的二进制数。1与0为zhi0;1与1为1;0与0为0。

分析如下:

就是二进制的每一位相与。

比如:1010 0011& 0000 1111,结果为0000 0011。也就是与上0相当于把那位数清0,与上1相当于把那位保留。



Snipaste_2020-06-12_14-05-50.png

取地址运算符

对于c语言中的&运算符,定义:(&p)则是这样一种运算,返回当时声明p 时开辟的地址;但是根据我对代码的观察,我觉得&运算符不只是返回地址的功能;

例如:

int a = 1;//假设a的地址是0x7dfe88int *p = (int *)0x7dfe88;int num = 1;int *p1 = #

根据假设,写出如下代码验证:

int num = 1;double *p1 = #

结果编译器报“ warning C4133: “初始化”: 从“int *”到“double *”的类型不兼容”错误。所以我的假设有一定的道理。

推荐教程:《C#》

更多相关文章

  1. C语言中取地址运算符是什么?
  2. 关于golang中无法获取地址问题的解析
  3. 关于go值传递和地址传递的例子
  4. IP地址与子网的作用和组成
  5. IP地址简介与配置
  6. MAC地址表和ARP表分别是什么?
  7. 只要两步,用Python将地址标记在地图上!
  8. 从零到一学懂区块链(3):地址
  9. 动画:面试官问我如何在 20 万 IP 地址中快速定位某一归属地?(下)

随机推荐

  1. golang可以写网站吗
  2. Golang 免费的吗?
  3. 区块链实战-Hyperledger Fabric(一) 10分钟
  4. Golang 哪个 Web 框架好用?
  5. golang可以做些什么?
  6. Golang 是面向对象还是面向过程?
  7. golang吉祥物是啥?
  8. Golang 和 PHP 哪个性能更强?
  9. golang会代替java吗?
  10. Golang 底层也用 Golang 吗?