C言語では、グローバル変数を定義した際、自動的にstaticになると認識しています。
例えば次のような場合

--------------------
<file1.c>
#include "file2.h"
uint8_t data = 10;
void main(void)
{
uint8_t i = 0;
func2();
for(i = 0; i < data; i++);
}

<file2.c>
uint8_t data;
void func2(void)
{
data = 5;
}

<file2.h>
void func2(void);
--------------------

main関数のforは10回繰り返されると思うのですが、間違っていますか?
開発環境はAtmelStudio7.0です。
似たようなプログラムを書いたところ、file1とfile2のdataが同じアドレスに定義されているような結果になってしまったので、
勘違いなのかこれが正しいのか…。