7.4 局部变量和全局变量

01

局部变量

1、定义变量的3中情况

(1)在函数的开头定义。

(2)在函数内的复合语句内定义。

(3)在函数的外部定义。

2、在一个函数内部定义的变量只在本函数范围内有效,也就是说只有在本函数内才能引用它们,在此函数以外是不能使用这些变量的。

3、在复合语句内定义的变量只在复合语句范围内有效,只有在本复合语句内才能引用它们。在复合语句以外是不能使用这些比那里的,以上这些称为“局部变量”。

4、主函数中定义的变量也只在主函数中有效,并不因为在主函数中定义而在整个文件或程序中有效。

5、不同函数中可以使用同名的变量,它们代表不同的对象,互不干扰。

6、形式参数也是局部变量。

7、在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合语句也称为“分程序”或“程序块”。

02

全局变量

1、在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量

2、全局变量可以为本文件中其他函数所共用。

3、全局变量的有效范围为从定义变量的位置开始到本源文件结束。

4、设置全局变量的作用是增加了函数间数据联系的渠道。

5、为了便于区别全局变量和局部变量,在C程序设计人员中有一个习惯,将全局变量的第1个字母用大写表示(非规定)。

本文分享自微信公众号 - C语言入门到精通(yclzl960229)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏力哥聊运维与云计算

LVM-HOWTO/学习笔记(二)

Mount the logical volume and check to make sure everything looks correct

12240
来自专栏力哥聊运维与云计算

openvswitch 配置acl

ovs-ofctl add-flow br0 dl_src=52:54:00:aa:bb:cc,tp_dst=80,idle_timeout=0,actions...

11320
来自专栏开发架构二三事

java 中的CAS与ABA问题

属于悲观锁,有共享资源,需要加锁时,会以独占锁的方式导致其它需要获取锁才能执行的线程挂起,等待持有锁的钱程释放锁。传统的关系型数据库里边就用到了很多这种锁机制,...

14820
来自专栏力哥聊运维与云计算

GHOST -BATCH 参数的妙用

 今天发现GHOST一个很有用的参数,-BATCH,用于比处理的编程,使用这个参数,当克隆过程中有错误发生时,不会停下了,等待手工干预,而是会退出,然后返回er...

9230
来自专栏力哥聊运维与云计算

KVM虚拟化linux系统模版制作步骤

在创建一个大小为16180M的lv,名字为root,挂载点为/,文件系统为ext4

11120
来自专栏力哥聊运维与云计算

vb6中使text控件的光标随着增加的内容向下移动

Text1.Text = Text1.Text + "test..." + CStr(i) + Chr(13) + Chr(10)

6420
来自专栏力哥聊运维与云计算

IBM刀片服务器管理模块恢复出厂默认值实战

Resetting the management module back to factory defaults

11440
来自专栏开发架构二三事

深入搜索之结构化搜索

结构化搜索是指针对具有内在结构的数据进行检索的过程。比如日期、时间和数字都是结构化的,它们有精确的格式。文本也是可以 格式化的,比如彩色笔的颜色可以有red、g...

16320
来自专栏力哥聊运维与云计算

显示网卡当前速度的脚本

显示网卡当前速度的脚本,速度是指网卡的连接速度,就是鼠标放到网卡图标上显示的速度

8210
来自专栏开发架构二三事

剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充

我喜欢在LMAX工作的原因之一是,在这里工作让我明白从大学和A Level Computing所学的东西实际上还是有意义的。做为一个开发者你可以逃避不去了解CP...

10430

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励