double *数组,vs double *指针

时间:2014-04-30 18:32:19

标签: c++ pointers double

为什么double *数组可以用作数组?我总是把星号看作指针,为什么它可以用作数组呢? 有人会提供一个例子,它如何用作double [],当它只是一个指针时。

1 个答案:

答案 0 :(得分:2)

我假设“用作数组”表示下标运算符[]

原因是在C和C ++中,下标运算符实际上执行了指针添加。它根本不适用于数组,它会导致数组名称衰减为指针,然后发生指针运算。

对于所有内置类型,

x[y]

定义为

*(x + y)

xy中的哪一个是指针(或指向衰减到指针的数组)并且哪个是偏移量无关紧要。