黑马程序员---static和extern的作用,scanf(),getchar(),gets()的用法小补充

本文详细解释了static和extern关键字在C/C++中的作用,包括它们如何应用于函数和变量,并介绍了这些关键字的不同用法以及对变量生命周期的影响。此外,还对比了scanf(), getchar(), 和 gets() 的使用场景和区别。
------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


        static和extern的作用分为对函数的作用和对变量的作用。

 

        一, 对函数的作用:

        static:1,完整的定义一个内部函数。2,完整的声明一个内部函数。

    

        在一个函数的返回值前面加一个static修饰的时候,该函数是一个内部函数。内部函数只能被本文件调用,不同的文件中可以有同名的内部函数存在。


extern:1,完整的定义一个外部函数。2,完整的声明一个内部函数。


在一个函数的返回值前面加一个extern修饰,该函数就是一个外部函数,外部函数可以被本文件调用,也可以被其他文件调用,默认所有的函数都是外部函数,一般情况下,外部函数的extern可以省略不写。不同的文件中不能有同名的外部函数存在。


二,对变量的作用:

变量分为全局变量和局部变量。

全局变量又分为两种变量:1,外部变量,能够被本文件和其他文件访问,默认情况下所有的全局变量都是外部变量,不同文件中的同名外部变量代表一个变量。2,内部变量,只能被本文件访问的变量是内部变量,不同文件中允许有同名的内部变量存在。


static对全局变量的作用,定义一个内部变量。

static对于局部变量的作用,延长了局部变量的生命周期,在程序结束的时候,局部变量才会被销毁,变量的作用域并不会被改变。

extern对全局变量的作用,声明一个外部变量。


另外在补充一点关于scanf(),getchar(),gets()的用法,区别。


scanf()不仅可以用来读取字符,还可以读取字符串,在读取的时候以Space 、Tab 、Enter结束,不会舍弃最后的回车键。

getchar()只能用来读取字符,以Enter结束读取,不会舍弃最后的回车键。

gets()只能用来读取字符串,接受Space(也就是Space不会结束输入),Enter结束输入,会舍弃最后的回车键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值