关于多重定义,来人啊

关于多重定义,来人啊,救命啊
#include<iostream>
using namespace std;


int main()
{
int i = 2;
int array[11];
for(int i = 0; i <= 10; i++)
array[i] = 100;
for(int i = 0; i <= 10; i++)
cout << array[i] << endl;

}


这个为什么没有造成多重定义……………………难道循环看做是函数??

------解决方案--------------------

int main()
{
int i = 2;  //i定义一次
int array[11];
for(int i = 0; i <= 10; i++)  //i定义两次
array[i] = 100;
for(int i = 0; i <= 10; i++)   //i定义三次
cout << array[i] << endl;

}



换成


int main()
{
int i;  
int array[11];
for(i = 0; i <= 10; i++)  
array[i] = 100;
for(i = 0; i <= 10; i++)  
cout << array[i] << endl;



------解决方案--------------------
引用:

int main()
{
int i = 2;  //i定义一次
int array[11];
for(int i = 0; i <= 10; i++)  //i定义两次
array[i] = 100;
for(int i = 0; i <= 10; i++)   //i定义三次
cout << array[i] << endl;

}



换成


int main()
{
int i;  
int array[11];
for(i = 0; i <= 10; i++)  
array[i] = 100;
for(i = 0; i <= 10; i++)  
cout << array[i] << endl;


+1
------解决方案--------------------
举个例子
void fun()
{
int i = 1;