I have a line of code that I can't understand. I am new to C programming and am going through some code that I have to sift through.

Can someone explain to me the following code:

```
short int *aux_status_register = ((short int *)(0x00001234));

```

What's confusing me is the code after the "`=`". Why is the "`*`" in a parentheses within the integer declaration as opposed to it being attached to the address (or what I think is the address that the pointer is pointing to)? Would things be different if the line of code was `(short int *0x00001234)`?

From what I got out of this line, `aux_status_register` is a pointer that points to an integer which is in hex: 0x1234. The contents that is stored in `aux_status_register` is stored in the 0x1234address location?

Please help. I really appreciate it...
Thanks.