--- In [email protected], "raj_duttaphookan"
<[EMAIL PROTECTED]> wrote:
>
> In your above explaination, I guess when the getValue( ) function 
> shall be called, it shall be something like:
> 
> main( )
> {
>    int x;
>    ..............;
>    ..............;
>    int getValue(&x);//the address of x is passed on to the calling 
>                      //function.
>    ..............;
> }
> 
> 
> int getValue(pointer p) //here the address shall come to p
>  {
>      return *p; // here it is simply returning the value at the 
>                 //address which is contained in p. And since it
>                 //was already defined in main( ) as int x, so 
>                 //obviously it shall return an int.  
>  }

Ok, try this one :-)

int main(int argc, char *argv[])
{
    int i = 1;
    short s = 2;
    pointer p = (argc > 1) ? &i : &s;

    return *p;
}

In this simple example the compiler could generate code to check the
value of argc and dereference p correctly, but I don't think it would
be practical (possible?) for more complicated examples.

John

Reply via email to