c++之指针数组

注意:
 1、   int *ip = iarray;
          int *ip = &iarray[0];
以上两个语句完成同样的事情。
2、指针以字节为单位来递增或递减,或1个、4个、8个等根据数据类型来递增或递减。
3、    int *ip = iarray;
          ip+=2;
     以上两个语句执行后,ip指针将保存iarrary数组中第3个元素的地址。
———————–例子如下代码—————————
#include <iostream>
using namespace std;
const unsigned short M = 3;
int main()
{
    int iarray[M] = {98, -486, 30233};
    char carray[M] = {‘x’, ‘y’, ‘z’};
    double darrary[M] = {3.1432, 2.7454, 7.3e14};
    int *ip = iarray;
    char *cp = carray;
    double *dp = darrary;
    cout << “———int——-4个字节递增——-” << endl;
    for (int i = 0; i < M; ++i)
    {
        cout << *ip << ” at  ” << ip <<“—转10进制—>”<<reinterpret_cast<unsigned long>(ip)<< endl;
        *ip++;
    }
    cout << “———char—1个字节递增———–” << endl;
    for (int i = 0; i < M; ++i)
    {
        cout << *cp << ”  at  ” << cp <<“—转10进制—>”<<reinterpret_cast<unsigned long>(cp)<< endl;
        *cp++;
    }
    cout << “———double——8个字节递增——–” << endl;
    for (int i = 0; i < M; ++i)
    {
        cout << *dp << ”  at  ” << dp <<“—转10进制—>”<<reinterpret_cast<unsigned long>(dp)<< endl;
        *dp++;
    }
    return 0;
}
——————–输出如下—————————–
———int——-4个字节递增——-
98 at 0x28fe8c—转10进制—>2686604
-486 at 0x28fe90—转10进制—>2686608
30233 at 0x28fe94—转10进制—>2686612
———char—1个字节递增———–
x at xyzb—转10进制—>2686601
y at yzb—转10进制—>2686602
z at zb—转10进制—>2686603
———double——8个字节递增——–
3.1432 at 0x28fe70—转10进制—>2686576
2.7454 at 0x28fe78—转10进制—>2686584
7.3e+014 at 0x28fe80—转10进制—>2686592
———————-结尾————————————-