指针加减操作的单位

原创 2012年03月26日 17:07:56

&+数组名+整形,表示数组首地址+数组的大小偏移量

例如:

int a[5]={1,2,3,4,5};

int *ptr=(int *)(&a+1);

*(ptr -1 ) 则等于a[4]

原因是指针大加减操作单位根据指针的类型的来定的

在这里,[&+数组名]指针的类型是数组指针,加减操作的一个单位一个该数组的大小(sizeof(数组长度*数组元素类型))

理所当然,例如int* p,p的加减操作的单位就是sizeof(int)

 

指针加减操作,当a为数组时a和&a的区别

求值:int *a[6][3]; int expr=a[5]-a[2];           输出expr=9. 1.  二维数组元素的地址      为了说明问题, 我们定义以下二维数组:  ...
  • glx2012
  • glx2012
  • 2013年04月03日 16:24
  • 517

指针操作:加减、解引用、下标操作

#ifndef _TEST_H #define _TEST_H //关键之处在于: //1.理解透彻指针即地址,地址可以记录一个数据类型的地址,同时指针也是一种 //数据类型,所以指针也可以记录一个指...
  • gukesdo
  • gukesdo
  • 2011年11月20日 14:32
  • 1706

指针的加减操作及对指针和数组类型的理解

先来看看一道题,分析指针的加减操作: 例题1:写出下面程序的运行结果 int a[3]; a[0] = 0,a[1] = 1,a[2] = 2; int *p,*q; p=a; q = &a[2]...
  • dby3579
  • dby3579
  • 2016年07月23日 16:54
  • 212

3.2Mat的线性代数加减乘操作

  • 2017年03月29日 09:33
  • 9KB
  • 下载

c指针加减值得问题

(1)指针加减整数:一度很疑惑数据指针在同种机器和编译器下长度是相同的,但是不同类型指针加上同一个整数之后值却不一样。    int main(void) { int num; char c ...

java对日期的加减操作

  • 2013年08月09日 11:23
  • 30KB
  • 下载

Oracle日期类操作(格式 加减乘 取毫秒)

1.日期格式、实验可以参考oracle官方文档(Table 2-15 Datetime Format Elements):http://download.oracle.com/docs/cd/B193...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:指针加减操作的单位
举报原因:
原因补充:

(最多只允许输入30个字)