int a[5]={}, a+1与(int*)a+1的区别

/*int a[5]={}, &a+1与(int*)a+1的区别
*/
#include <stdio.h>int  main()
{int b, *pb;char *pb2;pb = &b + 1;pb2 = (char*)&b + sizeof(b);printf("&b=%#x, pb=%#x, pb2=%#x\n", &b, pb, pb2);printf("Equal=%d\n", (void*)pb == (void*)pb2 );int a[5]={1,2,3,4,5}, *pa;char *pa2;pa = (int*)(&a + 1);pa2 = (char*)&a + sizeof(a);printf("\nDiff: &a=%#x, %#x, %#x\n", &a, (int*)&a + 1, &a + 1);	// 两者是有区别的printf("&a=%#x, pa=%#x, pa2=%#x\n", &a, pa, pa2);printf("Equal2=%d\n", (void*)pa == (void*)pa2 );puts("结论: &a + 1 == (char*)&a + sizeof(a)\n");return 0;
}

运行情况:

[zcm@socket #40]$make
gcc -o a a.c
[zcm@socket #41]$./a
&b=0x22ac7c, pb=0x22ac80, pb2=0x22ac80
Equal=1Diff: &a=0x22ac68, 0x22ac6c, 0x22ac7c
&a=0x22ac68, pa=0x22ac7c, pa2=0x22ac7c
Equal2=1
结论: &a + 1 == (char*)&a + sizeof(a)[zcm@socket #42]$


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[react] 装饰器(Decorator)在React中有什么应用?

[react] 装饰器(Decorator)在React中有什么应用&#xff1f; connect、withRouter&#xff0c;等类似的高阶组件都可以用装饰器来使用 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣…

MyBatis学习笔记(一)——MyBatis快速入门

转自孤傲苍狼的博客&#xff1a;http://www.cnblogs.com/xdp-gacl/p/4261895.html 一、Mybatis介绍 MyBatis是一个支持普通SQL查询&#xff0c;存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简…

一个USB HUB电路分享

1、USB HUB 当USB接口不够用的时候&#xff0c;可以采用USB HUB电路进行扩展&#xff0c;将一个USB接口扩展为多个&#xff0c;并可以使这些接口同时使用的装置。USB HUB根据所属USB协议可分为USB2.0 HUB、USB3.0 HUB与USB3.1 HUB。 选用的USB HUB芯片为 USB2514B. 参考文档&…

自言自语(2011.8.1)

我就喜欢在夜里听想清幽的曲子&#xff0c;边听边在回忆和遐想。 说说近期的心得吧。 1 做事还是很急&#xff0c;一点不像职场老手。对事情考虑的不足&#xff0c;做完了没有留下点什么&#xff0c;没有系统性的规化&#xff0c;以至于用的时候还要再现去找。很是麻烦。 2 不够…

[react] React Fiber它的目的是解决什么问题?

[react] React Fiber它的目的是解决什么问题&#xff1f; 我个人的理解&#xff1a; React 15 的 StackReconciler 方案由于递归不可中断问题&#xff0c;如果 Diff 时间过长&#xff08;JS计算时间&#xff09;&#xff0c;会造成页面 UI 的无响应&#xff08;比如输入框&…

Fedora 17删除旧内核的操作

From: http://linux.chinaitlab.com/administer/904852.html 由于Fedora更新升级非常的频繁&#xff0c;所以非常有必要清除陈旧的内核&#xff0c;方法如下&#xff1a; 1. 查看当前系统中已安装的内核相关包&#xff1a; [rootlocalhost mint]# rpm -qa|grep kernel kernel…

围魏救赵

初&#xff0c;孙膑与庞涓俱学兵法&#xff0c;庞涓仕魏为将军&#xff0c;自以能不及孙膑&#xff0c;乃召之&#xff1b;至&#xff0c;则以法断其两足而黥之&#xff0c;欲使终身废弃。齐使者至魏&#xff0c;孙膑以刑徒阴见&#xff0c;说齐使者&#xff1b;齐使者窃载与之…

高压断路器故障诊断的相关方法

一、综述 高压断路器机械故障诊断方法综述_关永刚 二、参考文献 断路器的机械振动信号小波去噪技术研究_罗光鸿高压断路器分合闸线圈电流采集实验平台与故障模拟实验研究_彭在兴混合布谷鸟算法在高压断路器故障诊断上的应用_徐其丹基于Kohonen网络的高压断路器机械故障识别方…

[react] 如何用React实现滚动动画?

[react] 如何用React实现滚动动画&#xff1f; 简单的用CssTransitionGroup插件 &#xff0c;想自己搞就 用css3 动画结束后执行&#xff0c;setState&#xff0c;滚动用requestAnimFrame 效果更佳。点击事件内增加 位置判断&#xff0c;没到就 requestAnimFrame&#xff0c;到…

使用sql语句创建和删除约束示例代码

使用sql语句创建和删除约束 约束类型 主键约束&#xff08;Primary Key constraint&#xff09; --&#xff1a;要求主键列数据唯一&#xff0c;并且不允许为空。 唯一约束&#xff08;Unique constraint&#xff09; --&#xff1a;要求该列唯一&#xff0c;允许为空&#x…

RIP、 OSPF、 EIGRP的区别

我们前面已经简单介绍了三种类型的动态路由协议算法分别是距离矢量算法&#xff0c;链路状态算法以及平衡混合算法&#xff0c;那么咱们今天就来看看这几种算法的类型代表&#xff1a;RIP、OSPF、EIGRP。而且它们都是内部网关协议&#xff08;IGP&#xff09;&#xff0c;也就是…

数独设计(4)

经过了前两天的设置后&#xff0c;我们就可以再View类中&#xff0c;进行游戏的布置&#xff0c;和进行操作了。 package com.mars.demo;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; imp…

[react] 使用高阶组件(HOC)实现一个loading组件

[react] 使用高阶组件(HOC)实现一个loading组件 function HOC(wrappedComponent) {return class extends React.Component {render() {if(!this.props.data) {return (<div>loading</div> )}return <wrappedComponent {...this.props}/>}} } 个人简介 我是…

Linux 延时函数

有一些延时函数写法非常占用CPU&#xff0c;比如while(gettime()>timeSet){}&#xff0c;在Linux中应当尽量使用系统调用执行延时&#xff0c;在延时等待期间执行一次进程调度&#xff0c;降低延时函数的CPU占用率。 Linux中的延时函数有sleep&#xff0c;usleep和nanoslee…

文件系统ext3的文件大小限制

From: http://blog.sina.com.cn/s/blog_640233a30100r3u0.html 想解决缓存的性能问题&#xff0c;准备选用BerkeleyDB作为存储方式&#xff0c;但会有单个文件的问题。 BerkeleyDB的性能没有问题的&#xff0c;DB库非常紧凑&#xff0c;不超过500K&#xff0c;但可以管理大至…

GDI+ 设置不同的分辨率来显示不同大小的图片

通过改变内存图像的分辨率来改变图像在屏幕的大小。 原理是&#xff1a;屏幕的大小/图像&#xff08;内存的图像&#xff09;的大小 屏幕的分辨率/图像&#xff08;内存的图像&#xff09;的分辨率。 注意&#xff1a;当图像的分辨率率变大时&#xff0c;图像本身的像素点的大小…

关于UILabel

一&#xff1a;创建一个label UILabel *label [[UILabel alloc]initWithFrame:CGRectMake(15, 100, 345, 100)]; 二&#xff1a;UILabel的一些属性 (1) 设置文字&#xff1a;label.text "这是我的一个Label"; (2) 设置文字颜色&#xff1a;label.textColor [UIC…

[react] React中如何监听state的变化?

[react] React中如何监听state的变化&#xff1f; 16.x 之前使用componentWillReveiveProps componentWillReceiveProps (nextProps){ if(this.props.visible ! nextProps.visible){ //props 值改变做的事 } } 2.16.x 之后使用getDerivedStateFromProps,16.x 以后componentWil…

Access和sql server的语法区别

Access和sql server的语法区别 一、有区别的函数及解决方案 以下所示的解决方案中的函数定义在untDataBase单元中TAdoConn类的方法中。 序号简述Access语法SqlServer语法Oracle语法DB2语法解决方案01系统时间Date()GETDATE()SYSDATE GetSysTimeStr02连接字符串&||GetConcat…

CM3计算板安装硬件时钟DS3231

1、硬件连接 DS3231是高速&#xff08;400kHz&#xff09;I2C接口的实时时钟芯片&#xff0c;0C至40C范围内精度为2ppm&#xff0c;-40C至85C范围内精度为3.5ppm&#xff0c;工作电压3.3V&#xff0c;提供电池备份&#xff0c;具有输入低功耗&#xff0c;实时时钟产生秒、分、…