oh wait, I'm an idiot.
I think you need the double pointer because of memory allocation.
If you did what I just told you too, this is what i think the problem would
be:
Code:
#include <...>
void fun(int *myInt); // declare your function
int main(void)
{
int j; // declare an integer and allocate space for it
fun(&j); // pass the address of that integer to your function
}
void fun(int *k)
{
int a = 10; // declare another integer and allocate space for it on the stack
k = &a; // point your pointer at that space. essentially *j = 10;
} // except now the function ends and the space allocated for a goes away
// leaving j pointing at something that may change unexpectedly