【发布时间】:2019-04-23 04:57:14
【问题描述】:
不是真正的代码问题,而是一个疑问,为什么 C 和 C++ 上的数组从 0 开始?它与某些内部流程有关吗?
int array[4]={1,2,3,4};
cout<<array[0];
cout<<array[1];
cout<<array[2];
cout<<array[3]; ///This prints 1234
但为什么不是这样
int array[4]={1,2,3,4};
cout<<array[1]; //as the first element
cout<<array[2];
cout<<array[3];
cout<<array[4];
?
【问题讨论】:
-
它是语法糖。 'array' 是这个上下文实际上只是一个内存地址。因此,第一个元素是 (array + 0),或 array[0]。第二个是(array + 1)等等等等。
标签: c++ arrays array-indexing