gpt4 book ai didi

c - 哪段代码效率更高?

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:47 25 4
gpt4 key购买 nike

初始化一个100×100的二维数组的所有元素,有两种方式:

方法一:

int a[100][100];
for(i=0; i<100; i++){
for(j=0; j<100; j++){
a[i][j] = 10;
}
}

方法二:

int a[100][100];
for(j=0; j<100; j++){
for(i=0; i<100; i++){
a[i][j] = 10;
}
}

现在我的问题是哪种方法更有效,为什么?

最佳答案

第一种方法,因为它会顺序访问数组。

C 以行优先顺序存储二维数组,这意味着 a[i][j] 将与 a[i][j+1] 相邻,但不与 a[ 相邻i+1][j].

还有另一种说法(概括为 >2 维)是最右边的索引在内存中是相邻的。或者递增索引意味着您必须跳过所有维度到您正在递增的索引的右侧。

关于c - 哪段代码效率更高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10932950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com