C程序设计进阶:全局变量VS局部变量

C程序设计进阶:局部变量VS全局变量

全局变量与局部变量

全局变量与局部变量是根据变量在程序中作用范围的不同来进行划分的。

什么是局部变量:

所谓局部变量就是在函数内部或者某个代码块的内部(所谓代码块的内部就是用大括号括起来的那些代码)定义的一些变量,就称为局部变量。

什么是全局变量:

与局部变量相比较,全局变量的作用范围更大,它的作用域从定义它的位置开始一直到这个文件的结束,换句话说,无论这个文件里面有多少个函数,从定义变量的那个地方开始,他就会一直在起作用。

重点来了

在这里插入图片描述
观察上面的程序,如果当全局变量与局部变量同名时,局部变量将在自己作用域内有效,它将屏蔽同名的全局变量。也就是说,在exchange函数内,如果对变量a,b进行了值得修改,它将不会影响到exchange函数外部,在main函数中最后打印的a,b仍然是全局变量a,b。
如果想对a,b的大小进行判断并变换位置,那么应将函数定义为:

void exchange(){
	int p;
	if(a<b){
	p=a;a=b;b=p;
	}
}

就是省略掉定义形式参数的部分。

写在最后

今日在coursera上无意间发现一个北大的C程序设计课程,抱着顺便复习期末考试的心态,点了进去,仔细听了一节课后发现还挺有意思儿,老师讲的很详细,也弥补了我之前在学习C的过程中剩余的一些不足。接下来,就简单记录一下其中的一个小收货吧。全当记笔记了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值