你好,我现在处于一个中间的C类水平,我突然想到了这个问题:
int multi[3][4]; // const multidimensional array
int* ptr = *multi; // ptr is a pointer variable that hold the address of multi const array
所以,访问多维数组位置时,哪种方法更快/更小/更优化呢?
这个:
代码:
multi[3][1]; // index the value position
或者
*(*(multi+2)+1); // pointer to the position on the array
或者(已更新)
ptr += 9; // pointer arithmetic using auxiliary pointer
由于“multi”是一个常量数组,编译器应该已经“知道”元素位置的本地化信息。如果使用指向该数组的变量指针,在寻找要显示的项目时可能需要更多的处理时间,但另一方面,可以更快地搜索所需的项目。哪种方法更快/更小/更优化?
提前感谢您的帮助。