局部变量和全局变量的区别
在这篇文章中,我们将了解局部变量和全局变量之间的区别。
局部变量
它通常在函数内部声明。
如果它没有被初始化,则会存储一个垃圾值。
它在函数开始执行时创建。
函数终止时它会被销毁。
由于局部变量/数据只能被单个函数访问,因此无法共享数据。
需要将参数传递给局部变量,以便它们能够在函数中访问该值。
它存储在栈上,除非另有说明。
可以使用声明它们的函数内部的语句来访问它们。
当在函数中对局部变量进行更改时,这些更改不会反映在其他函数中。
可以使用声明它们的函数内部的语句来访问局部变量。
示例
以下是一个示例:
#include <stdio.h> int main () { /* local variable declaration */ int a, b; int c; /* actual initialization */ a = 10; b = 20; c = a + b; printf ("value of a = %d, b = %d and c = %d
", a, b, c); return 0; }
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
全局变量
它在函数外部声明。
如果它没有被初始化,则默认情况下会存储值为零。
它在程序全局执行之前创建。
程序终止时它会被销毁。
由于多个函数可以访问全局变量,因此可以共享数据。
它们在整个程序中可见,因此不需要传递参数。
可以使用程序中的任何语句来访问它。
它存储在程序内部的特定位置,该位置由编译器决定。
当在一个函数中对全局变量进行更改时,这些更改也会反映在程序的其他部分。
示例
以下是一个示例:
#include /* global variable declaration */ int g; int main () { /* local variable declaration */ int a, b; /* actual initialization */ a = 10; b = 20; g = a + b; printf ("value of a = %d, b = %d and g = %d
", a, b, g); return 0; }
广告