blogger Indonesia

Follow judhyns blog

ACCESSING AN ARRAY USING POINTERS

Introduction

You can access an array element by using a pointer. For example, if an array stores integers, then you can use a pointer to integer to access array elements.

Program

#include  void printarr(int a[]); void printdetail(int a[]); main() {     int a[5];     for(int i = 0;i<5;i++)     {         a[i]=i;     }     printdetail(a); } void printarr(int a[]) {     for(int i = 0;i<5;i++)     {         printf("value in array %d\n",a[i]);     } } void printdetail(int a[]) {     for(int i = 0;i<5;i++)     {         printf("value in array %d and address is %8u\n",a[i],&a[i]);     } } void print_usingptr(int a[]) \\ A {     int *b;    \\ B     b=a;               \\ C     for(int i = 0;i<5;i++)     {         printf("value in array %d and address is %16lu\n",*b,b); \\ D         b=b+2; \\E     } } 

Explanation

  1. The function print_using pointer given at statement A accesses elements of the array using pointers.

  2. Statement B defines variable b as a pointer to an integer.

  3. Statement C assigns the base address of the array to b, thus the array's first location (a[0]) is at 100; then b will get the value 100. Other elements of the array will add 102,104, etc.

  4. Statement D prints two values: *b means the value at the location specified by b, that is, the value at the location 100. The second value is the address itself, that is, the value of b or the address of the first location.

  5. For each iteration, b is incremented by 2 so it will point to the next array location. It is incremented by 2 because each integer occupies 2 bytes. If the array is long then you may increment it by 4.

Points to Remember

  1. Array elements can be accessed using pointers.

  2. The array name is the pointer constant which can be assigned to any pointer variable.

No comments:

feed

PR Check

activesearchresults

judhyn's blog

 

http://www.judhyn.blogspot.com | |