#include <stdio.h>
#define GPIO_BASE 0x60004000ul
typedef struct
{
volatile unsigned long *FuncOutCnfg;
volatile unsigned long *OutReg;
volatile unsigned long *EnableReg;
} sGPIO;
volatile sGPIO GPIO;
volatile sGPIO *pGPIO;
int main()
{
pGPIO = (sGPIO*)(&GPIO);
GPIO.OutReg = (unsigned long*)(GPIO_BASE + 4);
printf( "%p\n", pGPIO->OutReg);
printf( "%p\n\n", GPIO.OutReg);
pGPIO->OutReg = (unsigned long*)(GPIO_BASE) + 4;
printf( "%p\n", pGPIO->OutReg);
printf( "%p\n\n", GPIO.OutReg);
return 0;
}