--- 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