c语言中,多维数组效率还是多个数组效率?

数组两种定义的方式:
a[100][3]

b1[100]
b2[100]
b3[100]
遍历时,用:
for(i....)
for(j....)
a[i][j];

for(i...)
b1[i];
for(i...)
b2[i];
for(i...)
b3[i];

哪一种更快?更效率?

效率上没有太大差别,但是写法上显然第一种更好

现代的计算机,处理256字节的数组,是在太小菜了

不过如果你这样写int * b = (int *)a;然后循环的时候用b++,取值用*b,这个效率的确比上面任何一种写法效率都高,但负面效应是你需要自己计算实际下标是怎么回事儿
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-07
从理论上说应该是第二种的效率更高,第一种循环嵌套存在循环层跨切的问题,而且跨切的越频繁,效率也越低。具体的信息请自己上网查找循环层跨切方面的资料阅读吧!
相似回答