Page 106 - 6437
P. 106

Value of var[1] = 100

                            Value of var[2] = 200

                          There may be a situation when we want to maintain an array, which can store pointers to
                   an int or char or any other data type available. Following is the declaration of an array of pointers
                   to an integer:


                 int *ptr[MAX];

                          It declares ptr as an array of MAX integer pointers. Thus, each element in ptr holds a
                   pointer to an int value. The following example uses three integers, which are stored in an array of
                   pointers, as follows:

                            #include <stdio.h>


                            const int MAX = 3;


                            int main ()
                            {
                                int  var[] = {10, 100, 200};

                                int i, *ptr[MAX];


                                for ( i = 0; i < MAX; i++)
                                {

                                   ptr[i] = &var[i]; /* assign the address of integer. */

                                }
                                for ( i = 0; i < MAX; i++)
                                {

                                   printf("Value of var[%d] = %d\n", i, *ptr[i] );
                                }

                                return 0;
                            }

                          When the above code is compiled and executed, it produces the following result:

                 Value of var[0] = 10

                 Value of var[1] = 100
                 Value of var[2] = 200






                                                                                                      10
                                                                                                      9
   101   102   103   104   105   106   107   108   109   110   111