This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Can I take the address of a function argument?

I know this isn't a Keil specific question, but I know you guys are smart and that I'll just get a direct non-mocking answer.

Is it legal to take the address of a function argument?


void Bar(unsigned char *Pointer)
{
  // Access data byte via the pointer
}

int Foo(unsigned char Arg)
{
  Bar(&Foo); // <<<<<< Is this legal?
}

I know you cannot take the address of a variable of type register and I think that knowledge is clouding my memory.

Parents
  • So yes - you can send the address of parameters to other functions and have these functions change the value of your parameter.

    The emboldened part is the key part for me.

    Lifetime of variables is not something I'd forgotten about :)

    Thanks for taking the time to answer. I always did like your clear complete responses.

Reply
  • So yes - you can send the address of parameters to other functions and have these functions change the value of your parameter.

    The emboldened part is the key part for me.

    Lifetime of variables is not something I'd forgotten about :)

    Thanks for taking the time to answer. I always did like your clear complete responses.

Children
No data