社区
C语言
帖子详情
全局变量 定义在 main函数 内和外 有什莫区别
seaandsunandsky
2007-08-16 10:10:34
如题
...全文
3290
17
打赏
收藏
全局变量 定义在 main函数 内和外 有什莫区别
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
scream7
2012-04-28
打赏
举报
回复
1
main也只是一个普通函数,只是是有系统来调用它,所以在main里的也是局部变量.
wszzfzsc
2012-04-27
打赏
举报
回复
你去看看书,就知道啦
datamining2005
2012-04-27
打赏
举报
回复
楼主应该说的是 main外面定义 ,main里面使用吧
Ever_lover
2012-04-26
打赏
举报
回复
不要把main函数想的那么神器。。。他和其他的函数一样,只不过他是系统的一个接口。。。和其他函数是main函数的接口一样。。。在main函数定义和在fun()中定义一样都只能在这个函数体中使用
sky198306
2012-04-26
打赏
举报
回复
路过学习一下呵呵~
二进制浮游
2012-04-26
打赏
举报
回复
受教育!!
linuxyuking
2007-08-17
打赏
举报
回复
在任何函数之外 包括main
littlexidong
2007-08-17
打赏
举报
回复
楼主多看看C语言的书吧~~~~
luojinzhong2002
2007-08-16
打赏
举报
回复
在main()汉书外定义的全局变量,可以在子函数和main()函数中都可以应用;main()函数种定义的全局变量,只在main()函数内有效!
儿大不由爷
2007-08-16
打赏
举报
回复
這個問題真強!
johnsonwuy
2007-08-16
打赏
举报
回复
main函数里定义的并非全局变量,只是在main函数里有效.如果程序里有多个函数,定义的全局变量在这些函数里都可以使用,而在main中定义的只能在main中使用,其他函数不可以直接调用比如:
int n=0;
void f()
{
n++;
}
int main()
{
n++;
f();
return 0;
}
如果int n定义在main中
void f();
int main()
{
int n=0;
n++;
return 0;
}
void f()
{
n++;//error ,此处编译都不会通过.
}
要搞清全局变量和局部变量的区别,全局变量是程序的各个函数都可以调用的,而局部变量只在函数内部有效.
qld001
2007-08-16
打赏
举报
回复
就是,main里面定义的那就不是全局变量了阿,神阿~~
chai21cn
2007-08-16
打赏
举报
回复
定义在main里面的变量 怎么变成了 全局变量
我啃
2007-08-16
打赏
举报
回复
谁说定义在main里面的是全局变量?
nihaoweihua
2007-08-16
打赏
举报
回复
用于存储程序数据的内存可以用存储时期、作用域和链接来表征。
存储时期可以是静态的、动态的或分配的。如果是静态的,内存在程序开始执行时被分配,并在程序运行时一直存在。如是动态的,变量所用的内存在程序执行到带变量定义所在代码块时开始分配,在退出代码块时释放,如果是分配的内存,内存在调用malloc()等函数时分配,在调用free()时释放。
作用域决定了哪部分程序可以访问某个数据。在所有函数之外定义的变量具有文件作用域,并对该变量声明之后定义的所有函数可见。在代码块内定义或者作为函数参数定义的变量具有代码块作用域,只在该代码块及其子代码块中可见。
连接描述了程序的某个单元定义的变量可被连接到其他那些地方。具有代码块作用域的变量作为局部变量,具有空连接。具有文件作用域的变量可以有内部连接或外部连接。内部连接意味只可以在包含变量定义的文件内部使用,外部连接意味变量可以在其他文件中使用。
变量的存储类决定了他的存储时期、作用域和链接。存储类由声明变量的位置和与之相关的关键字来决定。
在所有的函数之外定义的变量是外部变量,作用域为整个文件,具有外部连接,静态存储时间。除非使用了其他关键字,在函数中声明的变量是自动变量,具有代码块作用域,空连接、自动存储时间。在函数中使用关键字static定义的变量具有代码块作用域,空连接,静态存储时间。在函数外使用关键字static定义的变量具有文件作用域,内部连接,静态存储时间
除了存储类,C还提供了可分配内存(allocated memory),这种内存通过调用malloc等函数来分配,它返回一个指向该内存的指针,在调用free或程序终止之前该内存保持已分配状态。任何可以访问该指针的函数都可以访问这块内存。
cceczjxy
2007-08-16
打赏
举报
回复
谁说的定义在main()内的变量叫全局变量?
jixshabby
2007-08-16
打赏
举报
回复
.....大哥 在main()函数内定义的变量 还能叫全局变量吗
数组学习(
main
函数
内外
定义
变量的
区别
)
main
函数
内外
定义
变量的
区别
main
函数
全局变量
变量是程序的基本组成单位,三要素:(类型,名称,值)。并不是一个项目中所有的源文件都必须包含一个
main
()
函数
,而是一个项目的所有源文件中包含一个
main
()
函数
就够。
全局变量
:
定义
在所有
函数
之外的变量,
定义
之后都可以访问,数据共享,在
函数
中变量被改变,在其他
函数
中该变量也被改变。不是每一个源文件都要有一个
main
函数
,而是每个C语言项目中的所有源文件中必须有且只能有一个
main
函数
。局部变量:在
函数
或者代码块里面
定义
的变量,从
定义
开始到
函数
或者代码块结束。作用域:变量的作用范围。1.
main
()
函数
。
main
c语言中变量的
定义
,C语言中在
main
函数
中
定义
的变量是
全局变量
么_后端开发...
PHP 和 JavaSript
区别
_后端开发PHP是一种创建动态交互性站点的强有力的服务器端脚本语言,主要用于Web开发领域,而JavaSript是一种具有
函数
优先的轻量级,解释型或即时编译型的高级编程语言,主要用于开发前端应用。C语言中在
main
函数
中
定义
的变量不是
全局变量
,而是局部变量。
main
函数
中
定义
的变量与
全局变量
的生命周期一样长。(推荐教程:C语言教程)注意:
全局变量
一定是
定义
在
函数
...
main
函数
内的变量是
全局变量
,还是局部变量?
main
函数
内的变量是
全局变量
,还是局部变量?
c语言中的局部变量和
全局变量
每个变量都有属于它的作用域,就是这些变量在什么范围内有效;我们按照变量的作用域范围可以把变量划分为局部变量和
全局变量
; 局部变量 局部变量出现在三种地方: (1)在
函数
的开头
定义
的变量 (2) 在
函数
内的复合语句内
定义
的变量 (3)形式参数 在一个
函数
内部
定义
的变量只在本
函数
范围内有效,也就是只有本
函数
内才能引用它们,在此
函数
外不能使用这些变量; 在复合语句内
定义
的变量只能在本复合语句范围内有效,只有本复合语句内才能引用他们,在该复合语句外不能使用这些变量; 还有就是
函数
的形参,只在该
函数
内有.
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章