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

相关文章:

  • 2021-12-27
  • 2021-12-09
  • 2021-08-27
  • 2021-05-13
  • 2021-09-21
  • 2022-01-31
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2021-08-05
  • 2022-01-04
  • 2021-10-05
相关资源
相似解决方案