《C++基础》之指针加法

Posted on 2009-09-22 13:30  Jackc  阅读(1606)  评论(0编辑  收藏  举报
      C++中,指针在进行加法运算时,运算单位是由指针的类型的决定的。
      比如,指针P的类型long,那么当执行一次P++时,地址移动长度为4个字节。

      下面偶们来看一个例子:
long a;//赋值
 long *p = &a;//取址
 a = ( long ) ( ( (  long* ) 4  ) + 5 );//先将具体的数字4转成long指针类型,然后再加上5,再强制转成long类型,最后赋值给a。

      这段代码a的输出结果为24,计算公式为:4(指针的初始值为4)+5*4(4为long类型的字节长度)= 24.

      同样,如果把上段代码改为:
long a;
 long *p = &a;
 a = ( long ) ( ( (  double* ) 4  ) + 5 );
      那么输出结果就为44. 公式为:4+5*8

Copyright © 2024 Jackc
Powered by .NET 8.0 on Kubernetes