zoukankan      html  css  js  c++  java
  • C/C++之指针加减法

    C和C++中可对指针进行加减,但对其进行乘除则基本无实际意义。
    一般来说,对指针进行减法的前提是减数和被减数均指向同一数组。加法同理。
    需要注意的是,两个指针的减法,结果是两个地址之间索引变量的数目,而不是占用内存的字节数。
    例如下面例子:

    1 #include<iostream>
    2 using namespace std;
    3 int main(void)
    4 {
    5  int Array[10] = {0};
    6  cout << (Array+3) - Array << endl;
    7   return 0;
    8 }

    运行结果为:3
    将Array从int类型转到double类型,结果还是3.这正说明:两个地址减法结果是其二者间索引变量的数目。
    如果想要输出占用内存的字节数。可进行强制类型转换,如下:

    1 #include<iostream>
    2 using namespace std;
    3 int main(void)
    4 {
    5  int Array[10] = {0};
    6  cout << (int)(Array+3) - (int)Array << endl;
    7   return 0;
    8 }

    运行结果为:12
    将Array从int类型转到double类型,结果为:24.

  • 相关阅读:
    数据库基础(2)
    数据库基础
    多线程(3)
    多线程(2)
    多线程(1)
    并发编程(3)
    软件工程——个人总结
    软件工程第二次作业-结对编程
    软件工程第二次作业——结对编程心得体会
    软件工程第一次作业补充
  • 原文地址:https://www.cnblogs.com/goodhx/p/5154820.html
Copyright © 2011-2022 走看看