int a[3];中a+1与&a+1差别 -- C
int a[3];
a 和 &a 的地址一样的。
a+1 == a + 1*sizeof(int);跳跃是一个数组元素大小
&a+1 == a + 3*sizeof(int);跳跃是整个数组大小
#include <stdio.h> int
main()
{
char * a[] = {"hello","the","world"};
char ** pa = a;
pa ++; /* 获取数组中第二个元素 */
printf("*pa = %s\n",*pa);
printf("*(a+1) = %s\n",*(a+1)); int b[] = {1,2,3};
int * pb = b; /* 获取数组中最后一个元素 */
printf("*((int *)(&b +1)-1) = %d\n",*((int *)(&b +1)-1));
printf("*((int *)((&b +1)-1) = %d\n",*((int *)((&b +1)-1))); printf("*((char **)(&a+1)-1) = %s\n",*((char **)(&a+1)-1)); /* 地址一样 */
printf("b = 0x%0X\n",b);
printf("&b = 0x%0X\n",&b);
}
/*
[root@localhost test_class]# ./a.out
*pa = the
*(a+1) = the
*((int *)(&b +1)-1) = 3
*((int *)((&b +1)-1) = 1
*((char **)(&a+1)-1) = world
b = 0xBFC556B0
&b = 0xBFC556B0
*/
int a[3];中a+1与&a+1差别 -- C的更多相关文章
- 75  int类型数组中除了一个数出现一次或两次以外,其他数都出现三次,求这个数。[2行核心代码]
		
[本文链接] http://www.cnblogs.com/hellogiser/p/single-number-of-array-with-other-three-times.html [题目] i ...
 - MyBatis mapper文件中的变量引用方式#{}与${}的差别
		
MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...
 - Javascript 中 的 for ... in  和 for ... of 差别
		
Javascript 中 的 for ... in 和 for ... of 差别 for ... in 是历史问题,在循环数据时会可以出现奇怪的问题,比如把数据的属性循环出来. for ... of ...
 - ][mybatis]MyBatis mapper文件中的变量引用方式#{}与${}的差别
		
转自https://blog.csdn.net/szwangdf/article/details/26714603 MyBatis mapper文件中的变量引用方式#{}与${}的差别 默认情况下,使 ...
 - 数组溢界地址的正确使用: 即 int  a[6] 中的  a[-1] 和 a[6] 正确使用
		
正如大家所知道的那样: 数组 int a[6] , 编译器阅读到这句数组定义,会为分配6个int 类型的地址:a[0] a[1] a[2] a[3] a[4] a[5].我们 能够正 ...
 - int型整数中2进制中含有1的个数。
		
int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; } 解释下思路: 1.任何一个 ...
 - int('x', base)中的base参数
		
>>> int('12', 16) 16表示'12'就是16进制数,int()要将这个16进制数转化成10进制.
 - Java中string 创建对象时 “”和null的差别
		
null和""的差别 问题一: null和""的差别 String s=null; string.trim()就会抛出为空的exception String s ...
 - [JSP]JSP中include指令和include动作的差别
		
include指令是编译阶段的指令,即include所包括的文件的内容是编译的时候插入到JSP文件里,JSP引擎在推断JSP页面未被改动,否则视为已被改动. 因为被包括的文件是在编译时才插入的.因此假 ...
 
随机推荐
- 10.OpenStack块存储服务
			
添加块存储服务 安装和配置控制器节点 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cind ...
 - 你不知道的 JavaScript 基础细节
			
语法部分 type 属性: 默认的 type 就是 javascript, 所以不必显式指定 type 为 javascript javascript 不强制在每个语句结尾加 “:” , javasc ...
 - HDU 6235.Permutation (2017中国大学生程序设计竞赛-哈尔滨站-重现赛)
			
Permutation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Tot ...
 - (24)C#log4net配置和使用
			
一.下载并引用log4 DLL下载 http://logging.apache.org/ 找到.net版本的 点击下载 找到编译好的bin 选择net 选择你项目对应的.net framework ...
 - POJ 2184 Cow Exhibition【01背包+负数(经典)】
			
POJ-2184 [题意]: 有n头牛,每头牛有自己的聪明值和幽默值,选出几头牛使得选出牛的聪明值总和大于0.幽默值总和大于0,求聪明值和幽默值总和相加最大为多少. [分析]:变种的01背包,可以把幽 ...
 - Struts2 学习笔记——struts.xml文件之Bean的配置
			
Struts2的大部分核心组件不是以硬编码的形式写在代码中,而是通过自身的IoC容器来管理的. Struts2以可配置的形式来管理核心组件,所以开发者可以很容易的扩展框架的核心组件.当开发者需要扩展或 ...
 - 树链剖分【p3038】[USACO11DEC]牧草种植Grass Planting
			
表示看不太清. 概括题意 树上维护区间修改与区间和查询. 很明显树剖裸题,切掉,细节处错误T了好久 TAT 代码 #include<cstdio> #include<cstdlib& ...
 - 洛谷 ——2925干草出售Hay For Sale
			
题目描述 Farmer John suffered a terrible loss when giant Australian cockroaches ate the entirety of his ...
 - [洛谷3796]【模板】AC自动机(加强版)
			
题目大意: 给定$n(n\leq150)$个模式串$p_i(|p_i|\le70)$和一个$t(|t|\le10^6)$,求$t$中被匹配次数最多的$p_i$. 思路: AC自动机.匹配时记录一下匹配 ...
 - Matlab中ismember用法
			
>> a = magic(3) a = 8 1 6 3 5 7 4 9 2 >> ismember(a,3) ans = 0 0 0 1 0 0 0 0 0 >> ...