C语言自定义函数中定义常量、变量的问题
C语言自定义函数中定义常量、变量的问题在c语言中自定义一个函数,然后在这个函数里定义一个变量ky如voidabc(void);intmain(void){````````...
C语言自定义函数中定义常量、变量的问题
在c语言中自定义一个函数,然后在这个函数里定义一个变量ky
如
void abc(void);
int main(void)
{
``````````
abc();
`````````````
abc();
}
void abc(void)
{
int ky;
ky=1;
while(ky<=10)
{
``````````
ky=ky+1;
}
}
然后在主函数里多次调用此函数,那么是不是算多次定义了呢,但编译器(vs2017)却没有错误提示!程序依旧运行!请问这个变量ky是应该写在自定义函数的外面、里面还是写在主函数里? 展开
在c语言中自定义一个函数,然后在这个函数里定义一个变量ky
如
void abc(void);
int main(void)
{
``````````
abc();
`````````````
abc();
}
void abc(void)
{
int ky;
ky=1;
while(ky<=10)
{
``````````
ky=ky+1;
}
}
然后在主函数里多次调用此函数,那么是不是算多次定义了呢,但编译器(vs2017)却没有错误提示!程序依旧运行!请问这个变量ky是应该写在自定义函数的外面、里面还是写在主函数里? 展开
2个回答
展开全部
显然提问者没有搞清楚 函数 声明和定义 这两个概念
第一行void abc(void); 是声明,不是定义,因为没有函数体,只是告诉Main函数,你要调用的abc函数是有的,定义在后面
Main函数中的abc函数是调用,调用当然可以多次使用,函数的作用也在于此,一次定义,多次调用,体现代码复用的好处
最后void abc(void){ …… } 到结束,是定义了,说明函数干什么的
ky 写 abc函数里 是推荐的方式,成为局部变量,函数调用完后,ky可被系统释放内存
ky不能写在Main函数里,abc将无法访问其他代码块(花括号内)的局部变量
ky可以写在最外面,即不在任何代码块内,且要写最顶行(建议),这样后续的函数都可以访问该(全局)变量,但一般建议不要过多使用全局变量
第一行void abc(void); 是声明,不是定义,因为没有函数体,只是告诉Main函数,你要调用的abc函数是有的,定义在后面
Main函数中的abc函数是调用,调用当然可以多次使用,函数的作用也在于此,一次定义,多次调用,体现代码复用的好处
最后void abc(void){ …… } 到结束,是定义了,说明函数干什么的
ky 写 abc函数里 是推荐的方式,成为局部变量,函数调用完后,ky可被系统释放内存
ky不能写在Main函数里,abc将无法访问其他代码块(花括号内)的局部变量
ky可以写在最外面,即不在任何代码块内,且要写最顶行(建议),这样后续的函数都可以访问该(全局)变量,但一般建议不要过多使用全局变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询