考虑以下两个C语言函数来计算2D数组中元素的总和。忽略编译器的优化,哪两个是sum的更好实现?
// Function 1
int fun1(int arr[R][C])
{
int sum = 0;
for (int i=0; i
在C / C++中,元素按行优先顺序存储。因此,第一种实现具有更好的空间局部性(在连续的迭代中引用附近的存储位置)。因此,对于迭代多维数组,应始终首选第一个实现。
📅  最后修改于: 2021-04-26 18:22:58             🧑  作者: Mango
考虑以下两个C语言函数来计算2D数组中元素的总和。忽略编译器的优化,哪两个是sum的更好实现?
// Function 1
int fun1(int arr[R][C])
{
int sum = 0;
for (int i=0; i
在C / C++中,元素按行优先顺序存储。因此,第一种实现具有更好的空间局部性(在连续的迭代中引用附近的存储位置)。因此,对于迭代多维数组,应始终首选第一个实现。