Answer:
The valid operations are:
*q = *(&a[0]); and q = &(*p);
Step-by-step explanation:
Given
The above declarations
Required
The valid operations
*q = *(&a[0]); and q = &(*p); are valid assignment operations.
However, q = &&a[0]; q = &&a; are invalid because:
The assignment operations intend to implicitly cast the char array a to pointer q. C++ does not allow such operation.
Hence, *q = *(&a[0]); and q = &(*p); are valid
Another way to know the valid operations is to run the program and look out for the syntax errors thrown by the C++ compiler