从上面看出,当数组元素下标从0开始时,每个元素的地址计算如下:
第0个元素地址:首地址 (首地址 + 0*4)
第1个元素地址:首地址 + 1*4
第2个元素地址:首地址 + 2*4
第i个元素地址:首地址 + i*4
当数组元素下标从1开始时,每个元素的地址计算如下:
第1个元素地址:首地址
第2个元素地址:首地址 +(2-1)*4
第3个元素地址:首地址 +(3-1)*4
…
第i个元素地址:首地址 +(i-1)*4
很明显,如果数组元素下标从1开始,每次计算地址时,需要多做一次减法操作。因此,为了提高效率,C语言数组元素下标从0开始。C语言的高效率就是体现在这些点点滴滴中的,需要在学习中慢慢体会!
————————————————
版权声明:本文为CSDN博主「bufanq」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bufanq/article/details/51330197
主要是有首地址的原因,如果硬要从a[1]开始,那么输入时
int n;
cin>>n;
int a[n+1][n+1];