首页后端开发ASP.NETC语言中&是什么意思?

C语言中&是什么意思?

时间2024-01-31 16:39:03发布访客分类ASP.NET浏览810
导读:收集整理的这篇文章主要介绍了C语言中&是什么意思?,觉得挺不错的,现在分享给大家,也给大家做个参考。c语言中&是什么意思?C语言中&可以作为“按位与”或是“取地址”运算符,按位与运算符也是双目运算符,其功能是参与运算...
收集整理的这篇文章主要介绍了C语言中& 是什么意思?,觉得挺不错的,现在分享给大家,也给大家做个参考。

c语言中& 是什么意思?

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

按位与运算符

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

分析如下:

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

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



取地址运算符

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

例如:

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

以上是一段简单的给指针p,p1赋值的代码,0x7dfe88是一段单纯的十六进制地址,但是当地址转指针的时候却必须加上强转(int *);如果不加强转,那么编译器就会提出警告( warning C4047: “初始化”:“int *”与“int”的间接级别不同);但是使用& 运算符取地址的时候却不需要加任何强转就能编译通过,说明& 运算符绝不是的获取地址那么简单,“=”赋值运算符的运算顺勋是从右向左,说明"="的右边也是一个指针,所以在此假设& 运算符会取出num的地址,并且根据num的类型生成一个临时的指针。

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

int num = 1;
    double *p1 = &
    num;
    

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

推荐教程:《C#》

以上就是C语言中& 是什么意思?的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: C语言怎么定义字符串数组下一篇:C语言函数基础知识有哪些?猜你在找的ASP.NET相关文章 C# 一些面试试题的实例教程2022-05-16.NET 6开发TodoList应用之请求日志组件HttpLogging介绍2022-04-16.NET 6中间件Http Logging使用介绍2022-04-16gojs一些实用的高级用法2022-04-16.NET6开发TodoList应用之实现查询排序2022-04-16.NET6开发TodoList应用之实现数据塑形2022-04-16.NET微服务架构CI/CD自动打包镜像2022-04-16Asp.Net Core 使用Monaco Editor 实现代码编辑器功能2022-04-16.NET微服务架构CI/CD自动构建Jenkins+Gitee2022-04-16.Net Core微服务网关Ocelot集成Consul2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: C语言中&是什么意思?
本文地址: https://pptw.com/jishu/594211.html
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤 原生js实现自定义难度的扫雷游戏

游客 回复需填写必要信息