Taking an Address of a Pointer

Taking an Address of a Pointer

The sequence && is parsed as the logical AND operator. According to the Maximal Munch parsing principle, it’s never construed as two & (address of) operators:

 void func (char ** pp);char c;func (&&c); // parse error, && treated as logical AND

If you want to pass the address of c’s address (i.e., a pointer to a pointer), use an auxiliary variable that holds the address of c and then pass its address to func():

 char * p=&c;func (&p); // OK, address of address of c


Share the Post: