【C语言】全局变量与局部变量

简介: 【C语言】全局变量与局部变量

一.C语言中的变量

如图,在我们初学C语言时会遇到如下两种变量:

在main函数声明的叫全局变量,

在main函数声明的叫局部变量.


二.全局变量

全局变量是在函数外部声明的变量,也可以在函数内部使用。

全局变量在程序的任何地方都可以访问,包括函数内部和外部。

全局变量的作用域从声明处开始,直到文件的末尾。

全局变量在整个程序的执行过程中都存在,直到程序结束。


三.局部变量

局部变量是在函数内部或代码块内部声明的变量。

它们只能在声明它们的函数或代码块内部使用,并且在函数或代码块执行完毕后会被销毁。

局部变量的作用域仅限于声明它们的函数或代码块。


四.全局变量和局部变量的区别

局部变量和全局变量之间的主要区别如下:

  1. 作用域:局部变量的作用域仅限于声明它们的函数或代码块,而全局变量的作用域从声明处开始,直到文件的末尾,可以在程序的任何地方访问。
  2. 生命周期:局部变量在函数或代码块执行完毕后被销毁,而全局变量在整个程序的执行过程中都存在,直到程序结束。
  3. 内存分配:局部变量通常存储在栈上,而全局变量通常存储在静态数据区或全局数据区。
  4. 初始化:局部变量在声明时不会自动初始化,需要手动赋初值,而全局变量如果没有显式初始化,会被默认初始化为0或空。
  5. 访问限制:全局变量可以被程序中的任何函数访问和修改,而局部变量只能在声明它们的函数内部访问。

在使用变量时,需要根据需求选择局部变量或全局变量。局部变量通常用于在函数内部存储临时数据,而全局变量通常用于在整个程序中共享数据。



 


相关文章
|
7月前
|
程序员 编译器 C语言
嵌入式 C 语言中的全局变量问题
嵌入式 C 语言中的全局变量问题
58 0
|
2月前
|
编译器 C语言
C语言:普通全局变量可以被多个源文件共享吗
C语言中,普通全局变量可以通过extern关键字在多个源文件中声明和共享,实现数据的跨文件使用。但需注意,变量只能在一个文件中定义,其他文件中仅能声明。
|
2月前
|
存储 C语言
C语言:普通局部变量、普通全局变量、静态局部变量、静态全局变量的区别
C语言中,普通局部变量在函数内部定义,作用域仅限于该函数;普通全局变量在所有函数外部定义,作用域为整个文件;静态局部变量在函数内部定义但生命周期为整个程序运行期;静态全局变量在所有函数外部定义,但仅在定义它的文件内可见。
70 10
|
7月前
|
存储 C语言
局部变量在C语言中的使用
局部变量在C语言中的使用
40 2
|
7月前
|
存储 C语言
C语言中的局部变量与全局变量
C语言中的局部变量与全局变量
108 1
|
7月前
|
C语言
全局变量在C语言中的使用
全局变量在C语言中的使用
83 1
|
7月前
|
存储 C语言
C语言中的局部变量与全局变量详解
C语言中的局部变量与全局变量详解
88 0
|
7月前
|
C语言
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
80 0
|
7月前
|
C语言
c语言中的static静态(1)static修饰局部变量
c语言中的static静态(1)static修饰局部变量
60 1
|
7月前
|
编译器 C语言 开发者
【新手解答4】深入探索 C 语言:全局变量声明、全局函数声明 + 宏定义
【新手解答4】深入探索 C 语言:全局变量声明、全局函数声明 + 宏定义
410 0