我想知道数组中第一个元素为零的想法来自何处。为什么不是1?我已经习惯了它为零的事实,但是不能提出第一个元素为零的原因。
答案 0 :(得分:2)
来自C语言和汇编程序。指针和数组是可以互换的
char* a;
a[0] is equivalent to *(a+0)
答案 1 :(得分:2)
数组是一个顺序内存块。如果数组的开头位于内存地址x
,则第一个元素位于地址x+0
,第二个元素位于x+sizeof(arraytype)
,第三个位于x+2*sizeof(arraytype)
,等等