Confusion about Internal linkage
<p>According to the definition of internal linkage that i have read everywhere states that internal linkage means object is visible at file scope or everywhere in same file.</p>

<pre><code>int main()
{
    extern int i;
    i = 0; //linker error
}

static int i;
</code></pre>

<p>Would you have it any way to make <code>i</code> visible inside, if its declared after main() without defining before it?</p>
