Access Array Elements Using Pointers
#include <stdio.h>
int main() {
int data[5];
printf("Enter elements: ");
for (int i = 0; i < 5; ++i)
scanf("%d", data + i);
printf("You entered: \n");
for (int i = 0; i < 5; ++i)
printf("%d\n", *(data + i));
return 0;
}
Output
Enter elements: 1 2 3 5 4 You entered: 1 2 3 5 4
In this program, the elements are stored in the integer array data[]
.
Then, the elements of the array are accessed using the pointer notation. By the way,
data[0]
is equivalent to*data
and&data[0]
is equivalent todata
data[1]
is equivalent to*(data + 1)
and&data[1]
is equivalent todata + 1
data[2]
is equivalent to*(data + 2)
and&data[2]
is equivalent todata + 2
...
data[i]
is equivalent to*(data + i)
and&data[i]
is equivalent todata + i
Visit this page to learn about the relationship between pointers and arrays.