Hello Stefano,
You'll need to cast the address value to an "int" type to avoid a type mis-match error.
The following should work:
int myvariable;
int somearray[2];
void main(void) {
myvariable = (int)(&somearray);
// now to use "myvariable" as a pointer....
*( (int *)myvariable ) = 20; // places "20" at somearray[0];
}
Note that using pointers that are built by casting can lead to very difficult-to-find bugs. This usually occurs when incrementing or decrementing the pointer.
Frank