#include<stdio.h>#include<stdlib.h>#include<time.h>#define N 10000#define M 10000#define LEN N*M voidsum(int*a){// 按行访问int i, j, res =0;for(i =0; i < N; i++)for(j =0; j < M; j++)
res +=*(a+N*i+j);}voidsum2(int*a){// 按列访问int i, j, res =0;for(j =0; j < M; j++)for(i =0; i < N; i++)
res +=*(a+N*i+j);}intmain(){int*a =(int*)malloc(sizeof(int)*LEN);// 400MB for(int i =0; i < LEN; i++)
a[i]=1;
clock_t start_time, finish_time;double total_time;
start_time =clock();// sum(a); // 0.18ssum2(a);// 0.63s
finish_time =clock();
total_time =(double)(finish_time - start_time)/ CLOCKS_PER_SEC;printf("%fsec\n", total_time);return0;}