为什么双*数组可以用作数组?我总是把星号看作一个指针,为什么它可以用作数组呢?是否有人会提供一个示例,说明如何将其用作double[],以及当它只是一个指针时。
发布于 2014-04-30 18:55:03
我假定“用作数组”是指下标运算符[]。
原因是在C和C++中,下标操作符实际上执行指针加法。它根本不适用于数组,它会导致数组名称衰减为指针,然后出现指针算术。
对于所有内置类型,
x[y]定义为
*(x + y)x和y中哪个是指针(或者数组衰减到指针),哪个是偏移量,这都不重要。
https://stackoverflow.com/questions/23395539
复制相似问题