【发布时间】:2016-01-01 14:50:05
【问题描述】:
我有一个数组 A[n][n] 我怎么可以这样访问它:*A+i*blockSize*dimenson?这不是翻译成A[i*blockSize*n]吗?
如果i*blockSize*n 是一个大于n 的数字,怎么会这样?我认为它可以工作,因为 C 中的二维数组实际上只是一块连续的内存。但是,这并不能改变我无法在没有运行时错误的情况下编写 A[i*blockSize*n][j] = something 的事实。
那么为什么*A+i*blockSize*dimenson 可以,但A[i*blockSize*n] 不行
我希望这个问题对 C 方面的专家有意义。
【问题讨论】:
标签: c arrays pointer-arithmetic