首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于变量定义在main函数外面和里面的区别有哪些不同

2013-12-10 
关于变量定义在main函数外边和里面的区别有哪些不同?#include stdio.hstruct st{int yearint monthint

关于变量定义在main函数外边和里面的区别有哪些不同?
#include <stdio.h>


struct st{
int year;
int month;
int day;
}test[3];

int main(()
{
struct st test[3]={{1,2,3},{4,5,6},{7,8,9}};

struct st* p;
p=&test;
int i;
for(i=0;i<3;i++){
printf("p->year=%d,p->month=%d,p->day=%d\n",p->year,p->month,p->day);
p++;
}


return 0;
}

问题1:
           红色代码如果放在main函数里面,会提示说重复定义结构体数组,但是放在外面为什么就不会的呢?
问题2:
           p=&test;编译的时候会出现警告,但是如果这样p=&test[0]则不会了,为什么? 难道p=&test这样有错误?
[解决办法]

引用:
这么多人回答都没详细告解具体原因是什么,对这个论坛好失望

汗,lz看一下这个代码可以不?

int a=0;//全局变量a
int main()
{
int a=9999;//局部变量a,在这里把全局变量a屏蔽了
printf("%d\n",a);
return 0;
}

这个是变量作用域问题,随便找一本书就有讲,

热点排行