Notice the extra {
void union{(int a, int b,int *p)
^
NOTE: This answer was posted before the OP edited the question to remove the typo (mentioned in this answer). Check the edits for clarity.
ANOTHER NOTE:
Use the standard definition of main()
int main(void) //if no command line arguments.
10
solved Getting error: expected ‘{’ before ‘(’ token [closed]