Why Array Index starts from Zero
Answers were Sorted based on User's Feedback
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
What is a message map?
i have created runtime menu -- ( admistrator ->managepackage,manage module). but now i want to open a dialog when i select manage package and any other diaolg when selecting manage module ( whole selection is at run time only ) . Please HELP .its urgently required
plzz tell me what we can do and dont in tally ERP & sap business one?
Q1. A. What is unary operator? List out the different operators involved in the unary operator. B. What is an adjust field format flag? Q2. A. Distinguish between a # include and #define. B. Can a list of string be stored within a two dimensional array? Q3. A. Explain how a pointer to function can be declared in C++? B. List the merits and demerits of declaring a nested class in C++? Q4. A. What are the syntactic rules to be avoid ambiguity in multiple inheritence? B. Explain the operation of overloading of an assignment operator. Q5. A. Explain how the virtual base class is different from the conventional base classes of the opps. B. Explain how an exception handler is defined and invoked in a Program. Q6. A. What is a binary file? List the merits and demerits of the binary file usagein C++. B. Write short notes on Text Manipulation Routines. C. Write bites in Turbo c++ Header ("Include") Files.
WHAT IS DIFFERENT BETWEN RELEASE MODE & DEBUGGING MODE
4 Answers Google, Microsoft, TCS,
I have 2 threads. One thread prints odd numbers and the second thread prints even numbers. Now, I have to execute the threads alternatively so that i can output 1,2,3,4,5,6,..... write code for this?
1)How to change a text of a button as Dynamically?
Name the Synchronization objects?
What function is used to disable a control at runtime?
I want recent paper pattern for HP company?
what is the use of Mutex and critical section
1) How do you Destroy a Dialog Box ?