六六互联

C语言中所有的量都有自己的作用域

break-word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255); line-height: 2;">C语言中所有的量都有自己作用域。变量说明的方式不同,其作用域也不同。

break-word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255); line-height: 2;">C语言中的变量,按作用域范围可分为两种,即局部变量和全局变量。

  •  局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后使用这种变量是非法的。

  • 全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。

其作用域是定义位置到本源文件结束。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为 extern。但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。

C语言中所有的量都有自己的作用域

1、全局变量的作用域是定义位置到本源文件结束。这是否意谓着,全局变量定义位置之前不能使用?

(1)全局变量可以在函数体外的任何位置定义。

(2)全局变量可以在定义位置之前使用。但必须在使用之前使用extern关键字进行声明。如:extern n;

(3)全局变量在定义位置之后使用可以不进行extern关键字进行声明。

2、在函数体内能否定义与全局变量同名的局部变量?

在函数体内可以定义与全局变量同名的局部变量。这时,函数体内就无法访问这个全局变量。

3、定义局部变量、全局变量时其初值是什么?

(1)定义全局变量和局部变量时,可同时赋初值。

(2)定义全局变量时,如果未赋初值,则初值为0。

(3)定义局部变量时,如果未赋初值,则其值就是分配内存内存原有的数据。


相关推荐