int a[5]={}, &a+1与(int*)a+1的区别
#include <iostream>
#include <typeinfo>
using namespace std; int main()
{
int b, *pb;
char *pb2;
char *pb3;
//&b = 0x001af74
pb = &b + ; //0x001af78 int*
pb2 = (char*)&b + sizeof(b); //0x001af78 char*
pb3 = (char*)&b + ; //0x001af75 char*
printf("&b=%#x, pb=%#x, pb2=%#x,pb3=%#x\n", &b, pb, pb2, pb3); int a[]={,,,,}, *pa;
char *pa2;
//&a = 0x002cfc00 int[5]*
pa = (int*)(&a + ); //pa = 0x002cfc14 int*
pa2 = (char*)&a + sizeof(a); //pa2 = 0x002cfc14 char*
//(int*)&a + 1 = 0x002cfc04 &a + 1 = 0x002cfc14
printf("\nDiff: &a=%#x, %#x, %#x\n", &a, (int*)&a + , &a + ); // 两者是有区别的 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 ;
}
int a[5]={}, &a+1与(int*)a+1的区别的更多相关文章
- "int?" 是什么类型?和"int"有何区别
int?:表示可空类型,就是一种特殊的值类型,它的值可以为null用于给变量设初值得时候,给变量(int类型)赋值为null,而不是0int??:用于判断并赋值,先判断当前变量是否为null,如果是就 ...
- 把C程序的int main(void)改成static int main(void)会怎样呢?
如题,把C程序中的主函数int main(void)改成static int main(void)会怎么样呢? 比如把 #include <stdio.h> int main(void) ...
- C++中int转string与string转int
#include "stdafx.h" #include "string" #include "iostream" #include &qu ...
- 转:int整数除以int整数一定得到的是int整数(易忽视)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/u014053368/article/de ...
- int数组转string数组和int数组转string中间用逗号隔开
//int 数组转string数组 ,,,}; string result=test.Select(i => i.ToString()).ToArray(); //int 数组转 string中 ...
- 改int非空自增列为int可为空列
) --声明读取数据库所有数据表名称游标mycursor1 open mycursor1 --从游标里取出数据赋值到我们刚才声明的数据表名变量中 fetch next from mycursor1 i ...
- linq query, using int.parse to convert varchar to int while orderby
var t = from x in context.NewsLetterItem.ToList() //add .ToList at this place where x.APPId == appid ...
- Activity中setResult(int resultCode, Intent data)与onActivityResult(int requestCode, int resultCode, Intent data)方法的调用
关于Activity的生命周期 onCreate(Bundle savedInstanceState):可以进行一些初始化的工作在activity第一次被创建的时候调用.这里是你做所有初始化设置的地方 ...
- C++中int转为char 以及int 转为string和string 转int和空格分隔字符串
1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...
随机推荐
- Mondriaan's Dream(POJ 2411状态压缩dp)
题意:用1*2的方格填充m*n的方格不能重叠,问有多少种填充方法 分析:dp[i][j]表示i行状态为j时的方案数,对于j,0表示该列竖放(影响下一行的该列),1表示横放成功(影响下一列)或上一列竖放 ...
- IOS 通知 alarm 记录
所有的内容融为一体,去除某一个项不知道结果如何. 最主要的前提:APP 会长期保留在后台 1.在info.plist 文件里面,加入 audio 后台请求 2.当APP 点击home进入后台之后,请求 ...
- ASP.NET导出EXCEL类
最新ASP.NET导出EXCEL类 说明:可以导出ASP.NET页面和DATAGRID(WebControl)数据,可以导出表单头 using System;using System.Data;usi ...
- linux-制作linux启动U盘
1. 使用的制作工具 Ø 下载需要制作启动盘的linux的iso文件 Ø 制作启动盘的软件linux usb creater Ø U盘(大小差不多需要4G的空间) 软件可以的下载的地址:http:// ...
- ASP.NET性能优化小结(ASP.NET&C#)
ASP.NET: 一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库 ...
- Hbase 基本命令
启动Hbase:./start-hbase.sh 进入Hbase shell控制台:./hbase shell 查看所有表 list 查看数据库状态:status 查看数据库版本:vers ...
- The Services(服务)
datastore和运行时环境的关系就是和一个服务的关系:应用使用API访问一个独立的系统(separate system),这个系统管理应用的所有的独立于应用实例的扩展需求(scaling need ...
- 通过Unity3D发布IOS版游戏
https://developer.apple.com/ 打开上面的苹果开发者网站,选择上面的"Member Center"登录进入.前提是,你注册了开发者账号,并且付了年费. 选 ...
- linux 系统常用命令
临时性的完全关闭防火墙,可以不重启机器: #/etc/init.d/iptables status ##查看防火墙状态 #/etc/init.d/iptable stop ...
- Linux下tar.xz结尾的文件的解压方法
$xz -d ***.tar.xz $tar -xvf ***.tar 可以看到这个压缩包也是两层压缩,外面是xz压缩方式,里层是tar压缩方式.