请教高手,C语言中,把变量定义在主函数之外和定义在主函数之内有什么区别?

如;include<stdio.h>inta=1,s=0voidmian(){}和#include<stdio.h>voidmain(){inta=1,s=0;}他们之间... 如;
include <stdio.h>
int a=1,s=0
void mian()
{
}

#include <stdio.h>
void main()
{
inta=1,s=0;
}
他们之间的区别在哪里?
展开
 我来答
莫道無情
2019-06-28 · TA获得超过1.5万个赞
知道答主
回答量:317
采纳率:100%
帮助的人:8万
展开全部

两者的区别只在于作用域和生存周期。main函数是一个进程的入口,此外,和别的函数无区别。

1、main函数里定义的是局部变量,只是在main函数里有效。

2、如果程序里有多个函数,定义的全局变量在这些函数里都可以使用,而在main中定义的只能在main中使用,其他函数不可以直接调用。

3、题目中的两个程序的区别只在于程序一的a和s变量是全局变量,程序二的a和s变量是局部变量。

4、全局变量是程序的各个函数都可以调用的,而局部变量只在函数内部有效。

扩展资料:

全局变量是编程术语中的一种,源自于变量之分。

变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。

局部变量(Local variables)指在程序中只在特定过程或函数中可以访问的变量。局部变量是相对于全局变量而言的。在C++、C#、Ruby这些面向对象语言中,一般只使用局部变量。

面向对象编程是现在普遍采用的是软件开发方法,因此无需考虑是局部变量还是全局变量,说到变量,往往都是局部变量。

参考资料:百度百科-局部变量

参考资料:百度百科-全局变量

游戏放松小助手
高粉答主

2020-04-22 · 我是游戏小达人,乐于助人
游戏放松小助手
采纳数:32 获赞数:76849

向TA提问 私信TA
展开全部

对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在,外部变量用static来声明,则该变量的作用只限于本文件模块。解决方法如下:

1、首先定义指针的方式void (*p2)();//表示指针,p2 = printfwelcome;//函数就是地址。

2、还可以定义指针的方式,p2();//1.直接通过指针名字调用,(*p2)();//2.取内容(*指针名字)。

3、接着输入int (*padd)(int a,int b);padd = add;int ret = (*padd)(1,2);printf("ret=%d\n",ret)。

4、然后写出printfwelcome函数。

5、最后写出add函数,运行程序就完成了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曦夕兮
推荐于2017-11-25 · TA获得超过1145个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:93.8万
展开全部
定义在主函数外面是全局变量,分配的内存在静态内存,整个工程内都可以访问到他的值,但是优先级低。只有程序退出后才会释放他的内存。冲突的时候优先使用局部变量。
定义在函数内的变量时局部变量,分配的是内存堆栈,只有特定的函数内可以访问到,退出函数后自动释放内存堆栈。优先级高
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ef9052a
2012-03-01
知道答主
回答量:13
采纳率:0%
帮助的人:8.7万
展开全部
定义在main()外的为全局变量,在整个程序文件中都可以调用,定义在main()函数内的变量为局部变量,只有在该函数内调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一剑出血
高粉答主

2012-02-28 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.6亿
展开全部
前者称为全局变量,后者称为局部变量。二者的主要区别在于作用域和生命周期。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式