公司法
当前位置: 首页 法律大全

定义全局变量还是局部变量(局部变量与全局变量)

时间:2023-06-04 作者: 小编 阅读量: 1 栏目名: 法律大全

如在main函数中打印i,j变量,会有报错信息。#include<stdio.h>inta=100;voidfun{intj=50;printf;printf;printf;}intmain{fun;return0;}全局变量作用范围:从定义的位置开始到整个程序结束。全局变量作用范围:从定义的位置开始到整个程序结束。全局变量与局部变量名字相同,使用的是局部变量。

一、局部变量

在函数内部定义或在函数的形参,称为局部变量。

#include<stdio.h>void fun(int i){int j = 50;printf("i = %d\n",i);printf("j = %d",j);}int main(void){fun(20);return 0;}

局部变量的使用范围:只在本函数内部使用。

在上述代码中fun函数定义的变量i,j,只能在函数fun中使用。如在main函数中打印i,j变量,会有报错信息。

二、全局变量

函数外定义的变量,称为全局变量。

#include<stdio.h>int a = 100;void fun(int i){int j = 50;printf("i = %d\n",i);printf("j = %d\n",j);printf("a = %d",a);}int main(void){fun(20);return 0;}

全局变量作用范围:从定义的位置开始到整个程序结束。

上述示例中,定义的变量a为全局变量,可以在fun函数和main函数中使用

三、局部变量与全局变量命名冲突

在函数中,如果定义的全局变量的名字和局部变量的名字相同,此时使用的是局部变量。

#include<stdio.h>int a = 100;void fun(int i){int j = 50;int a = 200;printf("i = %d\n",i);printf("j = %d\n",j);printf("a = %d",a);}int main(void){fun(20);return 0;}

上述示例中,定义全局变量a=100,在fun函数中定义局部变量a=200,此时打印a的值,最终结果为200。

四、总结

(1)局部变量使用范围:只在本函数内部使用。

(2)全局变量作用范围:从定义的位置开始到整个程序结束。

(3)全局变量与局部变量名字相同,使用的是局部变量。