```
//Global space
int A;
int B = 0;
int C = 0x01;
static int D;
static int E = 0;
static int F = 0x01;

void foo()
{
    static int G;
    static int H = 0;
    static int I = 0x01;
}

```

My understanding is that all global & static variables that are either not initialized explicitly or initialized to 0 would go into BSS section. All the global & static variables that are initialized with any valu other than 0 would go into DATA section. Am I right?

In this case, following would be correct.

```
A -- BSS (No Explicit init)
B -- BSS (init to 0)
C -- DATA (!= 0)
D -- BSS
E -- BSS
F -- DATA
G -- BSS
H -- BSS
I -- DATA

```

Please correct me or acknowledge me. Thanks in advance.