Why Array Index starts from Zero

Answers were Sorted based on User's Feedback



Why Array Index starts from Zero..

Answer / pooja sonawane

the index of array, which is of the form a[i], is converted
by the compiler in the form [a+i]. So, the index of first
element is zero because [a+0] will give 'a' & the first
array element can be accessed. Due to this, we can also
access the array elements as'i[a]' instead of 'a[i]' , &
this will not produce an error.

Is This Answer Correct ?    183 Yes 48 No

Why Array Index starts from Zero..

Answer / chandan singh from niit

This boils down to the concept of Binary digits. Take an
array size of 64 for example. We start from 0 and end at
63. We require 6 bits.But, if we were to start from 1 and
end at 64, we would require 7 bits to store the same
number, thus increasing the storage size.

Is This Answer Correct ?    111 Yes 77 No

Why Array Index starts from Zero..

Answer / rck

The complier treats a[0] as *(a+0) ie *(a+0) (array name is
the base address of that array)gives the first element of
the array.
If the array starts from 1 a[1] is treated as *(a+1) gives
the second element of array.The first element is missing.so
array always starts from 0.

Is This Answer Correct ?    35 Yes 14 No

Why Array Index starts from Zero..

Answer / ashish verma

The index of array, which is of the form a[i], is converted
by the compiler in the form [a+i]. So, the index of first
element is zero because [a+0] will give 'a' & the first
array element can be accessed. Due to this, we can also
access the array elements as'i[a]' instead of 'a[i]' , &
this will not produce an error.

Is This Answer Correct ?    18 Yes 13 No

Why Array Index starts from Zero..

Answer / ranga raj.b

Array is a chunk of continues memory allocation. The arthmetic that is used by compiler to move to the next array location is StartAddress + (Index)*sizeof(int)if it is an integer array.now if we see to access the first location of the array we have to give Index =0 and for next location index =1 and so on...This is why array index start with zero.

Is This Answer Correct ?    6 Yes 1 No

Why Array Index starts from Zero..

Answer / chetan

Both Answer ARE correct but First one is EXACT and after
that compiler is design according to that

Is This Answer Correct ?    24 Yes 20 No

Why Array Index starts from Zero..

Answer / ashlesha

Second answer is correct. but its compiler specific to start an array index with 1 or zero.as in pascal the array index starts with '1'.

Is This Answer Correct ?    5 Yes 3 No

Why Array Index starts from Zero..

Answer / vikas chand

yes first ans is exactly correct.
second one is wrong because in java, c# etc array index is
start with zero..
but in that case we can not write a[i] as i[a]...
because a is reference variable...
so i think first ans is exactly right......

Is This Answer Correct ?    4 Yes 2 No

Why Array Index starts from Zero..

Answer / sabab ali khan

becouse the value of given index are multiplied by size of
datatype of array and then add in the base Address to find
address of that block which you want to access
ex.
int arr[5];
if the base address of array is 1001 then last block
address will be 1009
and if we give arr[2] then compiler calculate address like
this..
1001 + sizeof(int)* 2 = 1005
where base address = 1001
and 2 is the given index.
so the calculated address is 1005 and third block will be
access.

Is This Answer Correct ?    7 Yes 5 No

Why Array Index starts from Zero..

Answer / v .saikiran

I Think second one correct

Is This Answer Correct ?    5 Yes 4 No

Post New Answer

More MFC Interview Questions

Explain about MDI and CMultiDocTemplate ?

2 Answers  


how does conditionally close the Dialog Box ?

2 Answers   Infotech,


What function is used to retrieve the currently selected index in a list box?

2 Answers  


what message is sent to an application when the user presses the primary button?

0 Answers   University Exams,


what is the updated verssion in vc++

3 Answers   Aspect,






Which Macro is a Super set of other two macro DECLARE_SERIAL,DECLARE_DYNAMIC and DECLARE_DYNCREATE. ?

2 Answers   Sony,


Differ GetMessage, PostMessage & PeakMessage?

4 Answers   Symphony,


Hi can anyone explain about the synchronization objects types and where we are using in the code.

1 Answers  


What is userdefine Messages in MFC?

1 Answers   HCL,


What is the difference between hinsrtance and hprevinstance in WinMain function?

3 Answers  


how do u identify RTTI in vc++

4 Answers   Siemens,


Will there be any difference in the image buffer size if it is loaded in from CString to LPTSTR using GetBuffer()? lptstr = string.GetBuffer(0);

2 Answers  


Categories