Arrays in C programming starts with memory addresses. Yes the compiler handles arrays as memory addresses.
- Similar elements group together with a single name is called array
- the indexing always starts with 0 and ends at n-1 (if the size of the array is n)
- Array elements stores in consecutive memory location.
The array elements usually stores in consecutive memory location. For example,
int a[10]; //Array with size 10
the above example is an integer array with size 10 or this array can hold 10 variables.
The elements starts from a[0], a[1], a[2]…..a[9], so totally there are 10 elements.
Array elements | values | memory address location |
a[0] | 32 | 600AH (This address is called as the base address) |
a[1] | 34 | 600EH |
a[2] | 23 | 6012H |
a[3] | 35 | 6016H |
a[4] | 45 | 601AH |
a[5] | 67 | 601EH |
a[6] | 56 | 6022H |
a[7] | 1 | 6026H |
a[8] | 34 | 602AH |
a[9] | 25 | 602EH |
The memory addresses shown above are in hexadecimal, that’s why each address suffixed with a letter H. The memory addresses in each machine will be different.
The base address is the address where the first element of the array is stored. Usually it is represented as &a[0] or simply a.
The entire array is represented as an address by specifying the base address alone to various other elements of C programming like passing array to functions involves sending the base address only.
For the above table, here is the declaration syntax
int a[10]={32,34,23,35,45,67,56,1,34,25};
or
int a[]={32,34,23,35,45,67,56,1,34,25};
A simple program to get some numbers and print them on the screen
int main()
{
int a[10], j; //declaration of array “a” and its index j
printf(“Enter all the 10 numbers”);
for(j=0;j<10;j++) //get the numbers using a for loop which executes for 10 times (0 to 9)
{
scanf(“%d”, &a[j]);
}
for(j=0;j<10;j++) //print the numbers using a for loop which executes for 10 times (0 to 9)
{
printf(“%d”,a[j]);
}
return 0;
}
In the above example, j varies from 0 to 9 which means the loop will execute 10 times for the array a like this
a[j] when j=0 then a[0]
a[j] when j=1 then a[1]
a[j] when j=2 then a[2]…. and so on
like this the input is entered through the keyboard and same for printing the output.
Comments
Post a Comment