昨天我们上c语言课,老师在讲数组的访问的时候,说到:数组的指针访问比下标访问更快原话在谭浩强先生的c程序设计第五版-p229最初我对这个有点疑问:指针访问不应该是间接访问问嘛?为什么会比下标直接放更快呢?课后我去问老师,老师说因为下标访问需要计算位置,int类型加4字节,而指针只需要找门牌号,效率更高……这样似乎合情合理,但事实真的是这样吗?
后来我决定设计一个程序测试一下,我开了一个10万的数组,为了保证真实性,使用devc++,使用随机数赋值,然后访问()逐一遍历,可是事实并没有如我所愿,于是我试了二十多次,得到了,无论是指针访问还是下标访问,运行时间定格在14-15.5s之内,这个结果告诉我,他们是一样快的,
#include <iostream>
#include <time.h>
#include <cstdlib>
#define MAXN 100000
using namespace std;
int a[MAXN];
int main()
{
srand(time(NULL));
for(int i=