C语言中全局变量的储存类别是

C语言中全局变量的储存类别是,第1张

C语言中全局变量的储存类别大链是静态存储区。

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

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

扩展资料:

使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不应该算什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。

使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样也快不了多少。对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。

当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。还可以用extern在函数外对全局变量声明滚搜孙,使全漏渗局变量的作用域从声明处到文件的结束。

在函数内定义的变量是局部变量,而在函数外定义的变量叫做外部变量,外部变量是全局变量。全局变量可物碰歼罩冲以为本文件中其他函数所共用它的有效范围从定义变量的位置开始到本源文件结束吵运。

建立全局变量的作用是增加了函数间数据联系的渠道。

1、记住一条就够了:在函数之外定义的变量就是全局变量。用static修饰的变量可以是全局的,也可以是局部的,所以说“用static修饰的变量是全局变量”是错误的。用static修饰的变量的生命周期与全局变量一样,但可见性仍分全局和局部。

2、全局变量在整个汪启c文件中都能使用,而局部变困山如量在其作用域内才能使用,举个例子:

int f = 7// 这个是全局变量

int myadd(int a, int b)

{

int c = a + b// c是局部变量,只能在myadd中使用

return c

}

int main(void)

{

printf("%d\n"唯戚, c)// 因为c是myadd中定义的局部变量,这里会报错。

printf("%d\n", f)// f是全局变量,这句是正确的。

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12253200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存